我想将varchar中的一个短日期转换为date:'short month name-yy'格式,例如 'Apr-57' 或者 'Mar-2001' 为msms提供可读格式,以便将其转换为日期,例如 1957-04-01 或者 2001-03-01 .有没有我错过的捷径?我尝试了转换、强制转换和子字符串来改变格式,看看是否有帮助。提前谢谢你的帮助。
'Apr-57'
'Mar-2001'
1957-04-01
2001-03-01
7gs2gvoe1#
这有用吗?
DECLARE @vc VARCHAR(50) = 'Mar-2001'; SET @VC = '01-' + @vc; SELECT CAST(@VC AS DATE);
ep6jt1vc2#
如果它总是以相同的格式,那么您可以尝试下面的方法。我已经在SQLServer上测试过了。
DECLARE @unformat_date varchar(10) = 'May-2001' SELECT DATEFROMPARTS(DATEPART(YEAR,REPLACE(@unformat_date,'-',' ')),DATEPART(MONTH,REPLACE(@unformat_date,'-',' ')),01) as formated_dated
2条答案
按热度按时间7gs2gvoe1#
这有用吗?
ep6jt1vc2#
如果它总是以相同的格式,那么您可以尝试下面的方法。我已经在SQLServer上测试过了。