例如,在下面的代码中,我想设置的是 @XYZ
价值为 @ABC
价值 @DEF
即 @XYZ
应是 PQRSTU
.
DECLARE @ABC VARCHAR(MAX)='PQR',
@DEF VARCHAR(MAX)='STU',
@XYZ VARCHAR(MAX);
如果你的意思是连接,你可以使用
DECLARE @ABC VARCHAR(MAX)='PQR',
@DEF VARCHAR(MAX)='STU',
@XYZ VARCHAR(MAX);
SET @XYZ = CONCAT(@ABC,@DEF)
--or
SET @XYZ = @ABC + @DEF
+--------+
| PQRSTU |
+--------+
的优势 CONCAT 是,如果变量的值也是空的,它将返回空的字符串。VARCHAR(1)
为的。所以,你的连接将是成功的。
SET @DEF = NULL
SET @XYZ = CONCAT(@ABC,@DEF)
SELECT @XYZ
+--------+
| PQR |
+--------+
如果你想为一个变量设值,你可以用两种方法。
SET @xyz = value -- ANSI standard. works across RDBMS systems
SELECT @XYZ = value
只要用 select
或 set
关键字
-- both are equivalent
SELECT @XYZ = @ABC + @DEF;
SET @XYZ = @ABC + @DEF;