当前位置: 代码迷 >> Sql Server >> Convert(INT,NULL)这是什么意思呀,该如何解决
  详细解决方案

Convert(INT,NULL)这是什么意思呀,该如何解决

热度:27   发布时间:2016-04-27 12:16:28.0
Convert(INT,NULL)这是什么意思呀
如题
SELECT Convert(INT,NULL) '字段名'

------解决方案--------------------
SQL code
declare @a varchar(4) set @a='5'declare @b varchar(4) set @b='6'select @[email protected] --56select Convert(INT,@a)+Convert(INT,@b) --11
------解决方案--------------------
结果永为null,
SQL code
SELECT Convert(INT,NULL) '字段名'/*字段名-----------NULL(1 row(s) affected)*/
------解决方案--------------------
恒等于NULL
------解决方案--------------------
轉成INT類型的NULL值
------解决方案--------------------
SELECT Convert(INT,NULL) '字段名'

Convert()函数是SQL里的类型转换函数,第一个参数表示要转换成的数据类型,第二个参数是需要转换的数据。在这个语句里就表示要把‘NULL’转换为INT类型。
比如有个字符串为"012305”,使用Convert(INT,“012305”)后转换为整数12305
'字段名'表示这个查询结果显示时的列名
具体到这个语句NULL转换为INT类型后仍然为NULL
所以返回的结果仍然为NULL
------解决方案--------------------
SQL code
select * INTO T1from (    SELECT NULL '字段名' UNION ALL    SELECT '' '字段名'  )aa--表T1:列类型变成了 varchar(1)select * INTO T2from (    SELECT Convert(INT,NULL) '字段名' UNION ALL    SELECT '' '字段名'  )aa--表T2:列类型变成了 Int
------解决方案--------------------
CONVERT(INT,NULL)
在UNION或者case when ...时还是有用的,他指定了该列的数据类型为INT,如
SQL code
SELECT CONVERT(INT,NULL) AS Col1UNIONSELECT 'haha'
  相关解决方案