表达式
NULLIF
如果两个表达式不相等,则 NULLIF 返回第一个表达式。如果表达式相等,则 NULLIF 返回第一个表达式类型的空值。
NULLIF ( expression , expression )
变量
-- 创建 int 类型的变量
DECLARE @MyCounter INT;
-- 声明多个变量
DECLARE @LastName NVARCHAR(30), @FirstName NVARCHAR(20), @StateProvince NCHAR(2);
-- 引用变量
DECLARE @MyVariable INT;
SET @MyVariable = 1;
SELECT BusinessEntityID, NationalIDNumber, JobTitle
FROM HumanResources.Employee
WHERE BusinessEntityID = @MyVariable;
-- 赋值操作
DECLARE @EmpIDVariable INT;
SELECT @EmpIDVariable = MAX(EmployeeID)
FROM HumanResources.Employee;
-- 如果 SELECT 语句返回多行且变量引用非标量表达式,则该变量将设置为结果集中最后一行中表达式的返回值
DECLARE @EmpIDVariable INT;
SELECT @EmpIDVariable = BusinessEntityID
FROM HumanResources.Employee
ORDER BY BusinessEntityID DESC;
SELECT @EmpIDVariable;
Set
将先前使用DECLARE语句创建的指定局部变量设置为指定值
-- 赋值操作
DECLARE @myvar CHAR(20);
SET @myvar = 'This is a test';
SELECT @myvar;
-- 从查询中赋值
DECLARE @rows INT;
SET @rows = (SELECT COUNT(*) FROM Sales.Customer);
SELECT @rows;
SELECT
-- 初始化赋值之后 使用select赋值
DECLARE @var1 VARCHAR(30);
SELECT @var1 = 'Generic Name';
SELECT @var1 = [Name]
FROM SalesLT.Product
WHERE ProductID = 1000000; --Value does not exist
SELECT @var1 AS 'ProductName';
DECLARE
变量是在批处理或过程的主体中用 DECLARE 语句声明的,并用 SET 或 SELECT 语句赋值。 游标变量可使用此语句声明,并可用于其他与游标相关的语句。 除非在声明中提供值,否则声明之后所有变量将初始化为 NULL。
变量的名称。 变量名必须以 at 符 (@) 开头。 局部变量名称必须符合标识符规则。
评论 (0)