SQL SERVER 2000中的Int to Date

时间:2014-03-10 10:31:00

标签: sql sql-server sql-server-2000

如何将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.

2 个答案:

答案 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