2014-01-25 163 views
0

我想要的格式来验证数据,在格式为mmddyyyy 日期喜欢11171938 这是1938年11月17日验证MMDDYYYY日期

SELECT cast(stuff(stuff(RIGHT('0' + '021313', 6), 3, 0, '-'), 6, 0, '-') AS DATE) 

2013年2月13日

+0

什么版本的SQL Server? –

+0

SQL Server具有完美的基于日期的数据类型,并且在精心设计的系统中不应该处理可能包含有效日期的字符串。 –

回答

1
DECLARE @String VARCHAR(10) = '11171938' 

SELECT CAST(RIGHT(@String, 4) 
      + LEFT(@String , 4) AS DATE) 

结果

1938-11-17 
+1

你可以简化你的代码:'right(@String,4)+ left(@string,4)'。 –

+0

@GordonLinoff谢谢你指出这:) –