简体   繁体   中英

Int to Date in SQL SERVER 2000

How to convert an int column ,Birthdate( sample value 20090301) to a date column in the format(01/03/2009) Sql Server 2000

I was trying to convert some thing like below

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.

try this !

select * from tabl
where 
cast(convert(char(8),dob, 112) as date)>='2009-03-01'

SQL Server doesn't allow you to cast int -> datetime directly, but if you're sure you can cast it to nvarchar first and then cast it to date. For your question here's an example

declare @test int = 20090301
select CONVERT(datetime, CAST(@test as nvarchar), 112)

112 is the format you mentioned, here's the list of all possible formats for Convert function.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM