转换CMMDDYY成日期在SQL Server
问题描述:
如果我在CMMDDYY的转换CMMDDYY成日期在SQL Server
C = 0,1或2,其中0表示19中,1代表20和2代表21
实施例的格式的日期字符串:
1022511将在02/25/2011以mm/dd/yyyy格式显示。
有没有办法在sql server中将其转换为mm/dd/yyyy格式?
CMMDDYY甚至是有效的日期格式吗?我没有找到关于它的很多信息。
答
年度算法很简单:(19 + int(C))*100 + int(yy)
试试这个:
declare @st nvarchar(7)
set @st = '1030609'
select
cast(
substring(@st,2,2) + '/'
+ substring(@st,4,2) + '/'
+ cast((19 + cast(substring(@st,1,1) as int))* 100
+ cast(substring(@st,6,2) as int) as nvarchar)
as datetime)
此输出:
答
它听起来不像内置的日期格式,但你应该能够在msdn上找到它,如果是。如果没有,你可以写在SQL Server中的函数解析该格式的字符串DateTime对象
这听起来像一个时髦的Y2K修复,他们不愿意真正修复数据,但不想要的东西会br在40年后再次咀嚼。 ('如果年份> 60那么世纪是19,否则世纪是20'的修正。) – thursdaysgeek 2011-06-16 00:11:38