Sql 将格式化的VARCHAR赋值给局部变量
假设我希望SQL Server中的十进制数(16501826.00)被格式化并转换为我正在使用的VARCHARSql 将格式化的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
选择格式(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)
应该可以