在T-SQL中,将月份名称转换为数字的最佳方法是什么?
例如:
'January' -> 1
'February' -> 2
'March' -> 3
Run Code Online (Sandbox Code Playgroud)
等等.
有没有内置的功能可以做到这一点?
Ric*_*Ric 30
这个怎么样?
select DATEPART(MM,'january 01 2011') -- returns 1
select DATEPART(MM,'march 01 2011') -- returns 3
select DATEPART(MM,'august 01 2011') -- returns 8
Run Code Online (Sandbox Code Playgroud)
小智 14
这个怎么样:
SELECT MONTH('March' + ' 1 2014')
Run Code Online (Sandbox Code Playgroud)
会回来3.
小智 7
SELECT DATEPART(MM,'january '+'01 1900')
SELECT MONTH('january ' + '01 1900')
SELECT month(dateadd(month,DATEDIFF(month,0,'january 01 2015'),0))
Run Code Online (Sandbox Code Playgroud)
小智 5
它的退出很简单,取月份名称的前 3 位数字并使用此公式。
Select charindex('DEC','JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC')/4+1
Run Code Online (Sandbox Code Playgroud)