如何在SQL Server 2008中将month-yyyy文本列转换为日期列

时间:2017-09-28 19:13:41

标签: sql sql-server-2008 type-conversion

我有一个包含月份年数据的文本列(例如:APR17)。前3个字母始终是月份,后两个数字是年份。我想将此文本列以日期格式转换为该月的最后日期(因此APR17 = 2017-04-30)。我有SQL Server 2008,EOMONTH不是其中公认的功能。

1 个答案:

答案 0 :(得分:0)

SQL Server非常适合确定转换时的日期。我认为这有效:

select cast('01' + mmmyy as date) 

您还可以将字符串转换为convert()的已识别格式,但上述内容更简单。

在本月的最后一天:

select dateadd(day, -1, dateadd(month, 1, cast('01' + mmmyy as date)))