Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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将数字转换为'*';查拉赫特_Sql_Sql Server 2008 - Fatal编程技术网

为什么sql将数字转换为'*';查拉赫特

为什么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)

我在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) select @a = 22 select @a 声明@a varchar(2) 选择@a=22 选择@a
哪个服务器?Sql Server或MySql/Oracle?+1表示正确答案,但如果您也告诉OP原因,这将有助于OP。@CooLi3oY-因为选项要么返回您输入的部分内容,这可能会产生误导,要么返回一个字符表示该值不完整。返回不完整的指示器更安全。