如何将int列,Birthdate(样本值20090301)转换为格式的日期列(01/03/2009) Sql Server 2000
我试图转换下面的内容
select * from tabl
where
cast(dob as datetime)>='01/03/2009'
which gives an error
Msg 8115, Level 16, State 2, Line 1
Arithmetic overflow error converting expression to data type datetime.
答案 0 :(得分:1)
试试这个!
select * from tabl
where
cast(convert(char(8),dob, 112) as date)>='2009-03-01'
答案 1 :(得分:1)
SQL Server不允许您转换int - >直接使用datetime,但如果您确定可以先将其转换为nvarchar,然后将其转换为日期。 对于你的问题,这是一个例子
declare @test int = 20090301
select CONVERT(datetime, CAST(@test as nvarchar), 112)
112是您提到的格式,转换功能的所有可能格式的here's the list。