SQL变量是用来存储数据的临时容器。声明变量的语法如下:
DECLARE <变量名> <数据类型>;
其中:
* <变量名> :变量的名称,必须以字母开头,后面可以跟数字或下划线。
* <数据类型> :变量的数据类型,可以是SQL支持的任何数据类型,如CHAR、VARCHAR、INT、FLOAT等。
例如,声明一个名为 @name 的VARCHAR类型变量:
DECLARE @name VARCHAR(50);
变量的作用域
变量的作用域是指变量可以在哪些语句或块中被引用。在SQL中,变量的作用域只在声明变量的语句或块中有效。离开作用域后,变量将不再存在。
变量的赋值和使用
声明变量后,可以给变量赋值。赋值的语法如下:
SET <变量名> = <值>;
其中:
* <变量名> :要赋值的变量名。
* <值> :要赋给变量的值,可以是常量、字符串、表达式或其他变量。
例如,给 @name 变量赋值为"John":
SET @name = 'John';
赋值后,可以在SQL语句中使用变量。使用变量的语法如下:
<语句> WHERE <列名> = <变量名>
例如,使用 @name 变量来查询名为"John"的记录:
SELECT * FROM table_name WHERE name = @name;
变量的类型转换
SQL变量的数据类型决定了它可以存储的数据。但是,有时需要将变量的数据类型转换为另一种类型。SQL提供了CAST()函数来进行类型转换。
CAST()函数的语法如下:
CAST(<表达式> AS <数据类型>)
其中:
* <表达式> :要转换的值或变量。
* <数据类型> :要转换成的目标数据类型。
例如,将 @name 变量从VARCHAR类型转换为INT类型:
CAST(@name AS INT)