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 有点小小的区别SELECT Convert(INT,NULL) '字段名' --固定了数据类型为:int类型 SELECT NULL '字段名' --默认数据类型为Int,但是一旦 UNION 的话以第二条数据的数据类型为准。
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 有点小小的区别SELECT Convert(INT,NULL) '字段名' --固定了数据类型为:int类型 SELECT NULL '字段名' --默认数据类型为Int,但是一旦 UNION 的话以第二个Select 的数据类型为准。
类型转换函数: select cast(null as int) select convert(int,null) Up..
CONVERT(INT,NULL) 在UNION或者case when ...时还是有用的,他指定了该列的数据类型为INT,如 SELECT CONVERT(INT,NULL) AS Col1 UNION SELECT 'haha' 会报错的,CASE WHEN的情况相同
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(1 row(s) affected)
*/
null转化为int不还是等于null
比如有个字符串为"012305”,使用Convert(INT,“012305”)后转换为整数12305
'字段名'表示这个查询结果显示时的列名
具体到这个语句NULL转换为INT类型后仍然为NULL
所以返回的结果仍然为NULL
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
有点小小的区别SELECT Convert(INT,NULL) '字段名' --固定了数据类型为:int类型
SELECT NULL '字段名' --默认数据类型为Int,但是一旦 UNION 的话以第二条数据的数据类型为准。
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
有点小小的区别SELECT Convert(INT,NULL) '字段名' --固定了数据类型为:int类型
SELECT NULL '字段名' --默认数据类型为Int,但是一旦 UNION 的话以第二个Select 的数据类型为准。
select cast(null as int)
select convert(int,null)
Up..
在UNION或者case when ...时还是有用的,他指定了该列的数据类型为INT,如
SELECT CONVERT(INT,NULL) AS Col1
UNION
SELECT 'haha'
会报错的,CASE WHEN的情况相同