我的varchar
数据类型列的值为5/3/2012
。我想将2016-05-03
转换为int。当我尝试这样做时,它返回null作为输出
cast(convert(varchar(10), '5/3/2012', 112) as int)
答案 0 :(得分:1)
2016-05-03
是Date
而非Integer
值。因此,您需要将其转换为Date
您只想将Convert
Date
改为101
,风格为Select convert(Date, '5/3/2012', 101) --2012-05-03
https
答案 1 :(得分:0)
但如果你真的需要将它转换成INT,试试这个 -
DECLARE @d DATE = '5/3/2012'
DECLARE @y int = YEAR( @d )
, @m int = MONTH( @d )
, @dy int = DAY( @d )
SELECT CAST(concat( @y, format(@m, '00'), format(@dy,'00')) as int)
答案 2 :(得分:0)
SELECT CONVERT(INT,convert(Datetime, '5/3/2012', 101))
--41030