我将月份存储在SQL Server中为1,2,3,4,…12。我想把它们显示为一月,二月等。在SQL Server中有一个函数像MonthName(1) = 1月?如果可能的话,我尽量避免使用CASE语句。
当前回答
这个对我很有用:
@MetricMonthNumber (some number)
SELECT
(DateName( month , DateAdd( month , @MetricMonthNumber - 1 , '1900-01-01' ) )) AS MetricMonthName
FROM TableName
上面的帖子来自@leoinfo和@Valentino Vranken。刚刚做了一个快速选择,它工作。
其他回答
SELECT DATENAME(month, GETDATE()) AS 'Month Name'
如果有人想在MySQL中得到同样的东西。请查看以下查询。
SELECT MONTH(STR_TO_DATE('November', '%M'))
这样我得到了所要求的结果。
最简单的方法是调用函数MONTHNAME(your_date)。Your_date可以是一个静态值,也可以是一个表字段的值。
当然可以
select datename(M,GETDATE())
你可以这样得到日期。 -用户表
id name created_at
1 abc 2017-09-16
2 xyz 2017-06-10
您可以像这样获得monthname
select year(created_at), monthname(created_at) from users;
输出
+-----------+-------------------------------+
| year(created_at) | monthname(created_at) |
+-----------+-------------------------------+
| 2017 | september |
| 2017 | june |
推荐文章
- 有人可以对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语句中使用别名?