我将月份存储在SQL Server中为1,2,3,4,…12。我想把它们显示为一月,二月等。在SQL Server中有一个函数像MonthName(1) = 1月?如果可能的话,我尽量避免使用CASE语句。
当前回答
select monthname(curdate());
OR
select monthname('2013-12-12');
其他回答
在希伯来语等一些语言环境中,闰月取决于年份,因此为了避免在这些语言环境中出现错误,您可以考虑以下解决方案:
SELECT DATENAME(month, STR(YEAR(GETDATE()), 4) + REPLACE(STR(@month, 2), ' ', '0') + '01')
以下是我的工作:
CAST(GETDATE() AS CHAR(3))
我认为当你有日期时,这足以得到月名。
SELECT DATENAME(month ,GETDATE())
最简单的方法是调用函数MONTHNAME(your_date)。Your_date可以是一个静态值,也可以是一个表字段的值。
只要用今天的日期减去当前的月份,然后再加上你的月份。然后使用datename函数在一行中给出完整的名称。
print datename(month,dateadd(month,-month(getdate()) + 9,getdate()))
推荐文章
- 有人可以对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语句中使用别名?