为什么sql将数字转换为'*';查拉赫特
我在SQLServer2008中运行此查询为什么sql将数字转换为'*';查拉赫特,sql,sql-server-2008,Sql,Sql Server 2008,我在SQLServer2008中运行此查询 declare @a varchar(1) select @a = 22 select @a 这是我的退换货 * 为什么此查询会产生此结果?您正在将2个字符的数字转换为1个字符的字段 它不合适。 SQL表示数据丢失。否则,它将只显示一个2,您将不知道这是否为完整值。检测到空间不足- declare @a varchar(2) select @a = 242 select @a 这也将使用以下代码来实现: declare @a varchar(2)
declare @a varchar(1)
select @a = 22
select @a
这是我的退换货
*
为什么此查询会产生此结果?您正在将2个字符的数字转换为1个字符的字段 它不合适。
SQL表示数据丢失。否则,它将只显示一个
2
,您将不知道这是否为完整值。检测到空间不足-
declare @a varchar(2)
select @a = 242
select @a
这也将使用以下代码来实现:
declare @a varchar(2)
select @a = 22
select @a
声明@a varchar(2)
选择@a=22
选择@a
哪个服务器?Sql Server或MySql/Oracle?+1表示正确答案,但如果您也告诉OP原因,这将有助于OP。@CooLi3oY-因为选项要么返回您输入的部分内容,这可能会产生误导,要么返回一个字符表示该值不完整。返回不完整的指示器更安全。