转换为日期的最佳方式

2021-09-10 00:00:00 sql sql-server-2005 tsql sql-server

我有遗留系统,其中所有日期字段都以 YMD 格式维护.示例:

I have legacy system where all date fields are maintained in YMD format. Example:

20101123
this is date: 11/23/2010

我正在寻找将数字字段转换为日期字段的最佳方式.

I'm looking for most optimal way to convert from number to date field.

这是我想出的:

declare @ymd int

set @ymd = 20101122

select @ymd, convert(datetime, cast(@ymd as varchar(100)), 112)

这是一个很好的解决方案,但我在徘徊,如果有人有更好的方法来做到这一点

This is pretty good solution but I'm wandering if someone has better way doing it

推荐答案

试试这个:

CONVERT(DATETIME, CONVERT(NVARCHAR, YYYYMMDD))

例如:

SELECT CONVERT(DATETIME, CONVERT(NVARCHAR, 20100401))

结果:

2010-04-01 00:00:00.000

相关文章