sql 运算符号

首先我们来了解sql中的运算符号

(+)

expression + expression

注释

expression

数字类别中任何一种数据类型(bit 数据库类型除外)的任何有效表达式

返回优先级较高的参数的数据类型

示例

以下示例通过添加休假小时数和病假小时数来计算每个雇员离岗的总小时数。

USE AdventureWorks;
GO
SELECT c.FirstName, c.LastName, VacationHours, SickLeaveHours,
    VacationHours + SickLeaveHours AS 'Total Hours Away'
FROM HumanResources.Employee AS e
    JOIN Person.Contact AS c ON e.ContactID = c.ContactID
ORDER BY 'Total Hours Away' ASC;
GO

 

返回数值表达式(一个一元运算符)的值。

+ numeric_expression

 ALL  关键字

比较标量值和单列集中的值。

scalar_expression { = | <> | != | > | >= | !> | < | <= | !< } ALL ( subquery )

scalar_expression

任何有效的表达式

{ = | <> | != | > | >= | !> | < | <= | !< }
比较运算符。
subquery

返回单列结果集的子查询。返回列的数据类型必须与 scalar_expression 的数据类型相同。

受限的 SELECT 语句,其中不允许使用 ORDER BY 子句、COMPUTE 子句和 INTO 关键字。

ALL 要求 scalar_expression 与子查询返回的每个值进行比较时都应满足比较条件。例如,如果子查询返回的值为 2 和 3,则对于值为 2 的 scalar_expressionscalar_expression <= ALL(子查询)的计算结果为 TRUE。如果子查询返回的值为 2 和 3,则 scalar_expression = ALL(子查询)的计算结果为 FALSE,因为子查询的某些值(等于 3 的值)不满足表达式的条件。

有关要求 scalar_expression 只与子查询返回的某一个值进行比较时满足比较条件的语句

以下示例创建一个存储过程,该过程确定是否能够在指定的天数中制造出 AdventureWorks 数据库中具有指定 SalesOrderID 的所有组件。该示例使用子查询为具有特定 SalesOrderID 的所有组件创建 DaysToManufacture 值的列表,然后确认所有 DaysToManufacture 都在指定的天数内。

USE AdventureWorks ;
GO

CREATE PROCEDURE DaysToBuild @OrderID int, @NumberOfDays int
AS
IF
@NumberOfDays >= ALL
   (
    SELECT DaysToManufacture
    FROM Sales.SalesOrderDetail
    JOIN Production.Product
    ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID
    WHERE SalesOrderID = @OrderID
   )
PRINT 'All items for this order can be manufactured in specified number of days or less.'
ELSE
PRINT 'Some items for this order cannot be manufactured in specified number of days or less.' ;

EXECUTE DaysToBuild 49080, 2 ;

 

posted on 2012-07-22 00:53  361741352  阅读(1228)  评论(0编辑  收藏  举报

导航