Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将格式化的VARCHAR赋值给局部变量_Sql_Sql Server - Fatal编程技术网

Sql 将格式化的VARCHAR赋值给局部变量

Sql 将格式化的VARCHAR赋值给局部变量,sql,sql-server,Sql,Sql Server,假设我希望SQL Server中的十进制数(16501826.00)被格式化并转换为我正在使用的VARCHAR 选择格式(16501826,'N','en-US')将按预期显示结果 我希望将其分配给局部变量@a DECLARE @a VARCHAR; SET @a = Format( 16501826 ,'N','en-US'); SELECT @a; 回报 如何正确获取分配给@a的varchar值 有必要为VARCHAR结果变量指定一个长度,以便将结果放入其中: DECLARE @a V

假设我希望SQL Server中的十进制数(16501826.00)被格式化并转换为我正在使用的VARCHAR

选择格式(16501826,'N','en-US')
将按预期显示结果

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

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


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

有必要为VARCHAR结果变量指定一个长度,以便将结果放入其中:

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

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

DECLARE @a VARCHAR(n);

那么
DECLARE@a VARCHAR(13)
?在声明VARCHAR时,您应该始终定义其长度,或者默认为1。所以,
声明@a VARCHAR(100)
应该可以