将格式化的VARCHAR分配给局部变量

时间:2019-04-01 09:01:30

标签: sql sql-server

假设我想将SQL Server中的小数点(16501826.00)格式化并转换为我正在使用的VARCHAR

SELECT Format( 16501826 ,'N','en-US'),它将按预期显示结果。

enter image description here

我希望将此变量分配给局部变量@a

DECLARE @a VARCHAR;
SET @a = Format( 16501826 ,'N','en-US');
SELECT @a;

返回;

enter image description here

如何正确分配给@a的varchar值?

2 个答案:

答案 0 :(得分:3)

有必要为VARCHAR结果变量分配一个长度,以使结果适合其中:

DECLARE @a VARCHAR(13);
SET @a = Format( 16501826 ,'N','en-US');
SELECT @a;

答案 1 :(得分:2)

VARCHAR的默认长度为单个字符。如果需要更多,则应设置长度:

DECLARE @a VARCHAR(n);