开发者

SQL datetime value

开发者 https://www.devze.com 2022-12-08 21:58 出处:网络
I have data formatted \"2009-07-17T00:00:00-05:00\" in varchar variable. How can I convert this data to datetime field in MS SQL server using query开发者_JAVA百科 or TSQL?If you are on SQL Server 2008

I have data formatted "2009-07-17T00:00:00-05:00" in varchar variable. How can I convert this data to datetime field in MS SQL server using query开发者_JAVA百科 or TSQL?


If you are on SQL Server 2008, you can use the datetimeoffset type:

select cast('2009-07-17T00:00:00-05:00' as datetimeoffset)

Since you are on 2005, datetimeoffset data type is not available for you. You should decide if you want to keep time zone information separately. If you just want the datetime part, just strip the time zone part from the string and cast it as a datetime:

select cast(left('2009-07-17T00:00:00-5:00', 19) as datetime)


Cast as DATETIME won't work, but that format is a valid XML datetime format, so you can route the cast through an XML type first:

declare @d varchar(50);
select @d = '2009-07-17T00:00:00-05:00';

select x.value(N'.', N'datetime') from (select cast(@d as xml) as x) as t;
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号