【发布时间】:2010-09-16 04:16:00
【问题描述】:
我在 SQL Server 中存储的月份为 1、2、3、4、...12。我想将它们显示为一月、二月等。SQL Server 中是否有像 MonthName(1) = 一月这样的函数?如果可能,我会尽量避免使用 CASE 语句。
【问题讨论】:
标签: sql sql-server tsql sql-server-2005
我在 SQL Server 中存储的月份为 1、2、3、4、...12。我想将它们显示为一月、二月等。SQL Server 中是否有像 MonthName(1) = 一月这样的函数?如果可能,我会尽量避免使用 CASE 语句。
【问题讨论】:
标签: sql sql-server tsql sql-server-2005
最简单的方法是调用函数MONTHNAME(your_date)。 your_date 可以是静态值,也可以是来自某个表字段的值。
【讨论】:
试试这个:SELECT MONTHNAME(concat('1970-',[Month int val],'-01'))
例如-SELECT MONTHNAME(concat('1970-',4,'-01'))
答案是——四月
【讨论】:
如果有人试图在 MySQL 中获得同样的东西。请检查以下查询。
SELECT MONTH(STR_TO_DATE('November', '%M'))
由此我得到了所需的结果。
【讨论】: