使用T-SQL,如何将日期格式mmm-dd-yyyy转换为yyyy-mm-dd

时间:2013-10-30 22:49:06

标签: sql sql-server tsql date

使用TSQL,将数据类型字符串格式化日期'mmm-dd-yyyy'转换为数据类型日期格式'yyyy-mm-dd'

的最有效方法是什么?

示例:

原始日期:2013年1月31日

转换日期:2013-01-31

我在寻找此文档中的转换但没有成功。 http://msdn.microsoft.com/en-us/library/ms187928.aspx

3 个答案:

答案 0 :(得分:3)

最有效的方式作为日期返回:

select convert(date, replace('Jan-31-2013', '-', ' '), 0)

最有效的方式返回为char(10):

select convert(char(10),convert(date, replace('Jan-31-2013', '-', ' '), 0), 126)

答案 1 :(得分:1)

这解决了您的问题,但不确定是否有更有效的解决方案?

declare @DateTime as varchar(max)
set @DateTime = 'Jan-31-2013';
select cast(substring(@DateTime,8,4) + '-' + substring(@DateTime,1,3) + '-' + substring(@DateTime,5,2) as date)


SQL Result Image

答案 2 :(得分:1)

将日期格式从MM / DD / YY更改为MM / DD / YYYY:

SELECT Substring(trans_date, 4, 2)+'-'+Substring(trans_date, 1, 2)+'-'+'20'+SUBSTRing(trans_date, 7, 2) ,* from TempTable