日期:2014-05-18  浏览次数:20733 次

Convert(INT,NULL)这是什么意思呀
如题
SELECT Convert(INT,NULL) '字段名'

------解决方案--------------------
SQL code

declare @a varchar(4) set @a='5'
declare @b varchar(4) set @b='6'
select @a+@b --56
select 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 T1
from 
(
    SELECT NULL '字段名' UNION ALL
    SELECT '' '字段名'  
)aa


--表T1:列类型变成了 varchar(1)


select * INTO T2
from 
(
    SELECT Convert(INT,NULL) '字段名' UNION ALL
    SELECT '' '字段名'  
)aa

--表T2:列类型变成了 Int

------解决方案--------------------
CONVERT(INT,NULL)
在UNION或者case when ...时还是有用的,他指定了该列的数据类型为INT,如
SQL code
SELECT CONVERT(INT,NULL) AS Col1
UNION
SELECT 'haha'