【问题标题】:SQL Server : month name from date columnSQL Server:日期列中的月份名称
【发布时间】:2025-12-08 01:00:02
【问题描述】:

如何从列中获取月份名称?

我有一个专栏txndate

Select Month(g.Txndate) as Month 

这将返回 1,2,3,4,.....12。如何获取 Jan、Feb、Mar 等?

【问题讨论】:

标签: sql-server tsql


【解决方案1】:

试试这个...

SELECT CONVERT(CHAR(3), DATENAME(MONTH, GETDATE()))  

或者这个(谢谢,Gordon Linoff

SELECT LEFT(DATENAME(MONTH, GETDATE()), 3)

为您的餐桌定制...

SELECT CONVERT(CHAR(3), DATENAME(MONTH, g.Txndate)) AS Month
SELECT LEFT(DATENAME(MONTH, g.Txndate), 3) AS Month

结果

+-------+
| Month |
+-------+
| Mar   |
+-------+

【讨论】:

  • 我会使用LEFT() 而不是CONVERT()
【解决方案2】:

试试下面的查询

SELECT DATENAME (MONTH, DATEADD(MONTH, MONTH(Txndate) - 1, '1900-01-01')) MonthName

或者 SELECT FORMAT(g.Txndate, 'MMMM') AS Result

Reference

【讨论】:

    最近更新 更多