我将月份存储在SQL Server中为1,2,3,4,…12。我想把它们显示为一月,二月等。在SQL Server中有一个函数像MonthName(1) = 1月?如果可能的话,我尽量避免使用CASE语句。
当前回答
当然可以
select datename(M,GETDATE())
其他回答
select monthname(curdate());
OR
select monthname('2013-12-12');
to_char(to_date(V_MONTH_NUM,'MM'),'MONTH')
其中V_MONTH_NUM是月份号
SELECT to_char(to_date(V_MONTH_NUM,'MM'),'MONTH') from dual;
最简单的方法是调用函数MONTHNAME(your_date)。Your_date可以是一个静态值,也可以是一个表字段的值。
我认为当你有日期时,这足以得到月名。
SELECT DATENAME(month ,GETDATE())
这个对我很有用:
@MetricMonthNumber (some number)
SELECT
(DateName( month , DateAdd( month , @MetricMonthNumber - 1 , '1900-01-01' ) )) AS MetricMonthName
FROM TableName
上面的帖子来自@leoinfo和@Valentino Vranken。刚刚做了一个快速选择,它工作。
推荐文章
- 有人可以对SQL查询进行版权保护吗?
- 如何知道MySQL表最近一次更新?
- 如何转储一些SQLite3表的数据?
- 如何检查SQL Server文本列是否为空?
- 如何创建一个SQL Server函数“连接”多行从一个子查询到一个单独的分隔字段?
- 在MySQL中的一个查询中更新多个具有不同值的行
- 在SQL中更新多个列
- 如何删除表中特定列的第一个字符?
- MySQL OR与IN性能
- 哪个更快/最好?SELECT *或SELECT columnn1, colum2, column3等
- GROUP BY with MAX(DATE)
- 删除id与其他表不匹配的sql行
- 等价的限制和偏移SQL Server?
- 如何从SQL Server中的字符串中剥离所有非字母字符?
- 为什么我不能在DELETE语句中使用别名?