我将月份存储在SQL Server中为1,2,3,4,…12。我想把它们显示为一月,二月等。在SQL Server中有一个函数像MonthName(1) = 1月?如果可能的话,我尽量避免使用CASE语句。
当前回答
使用这个语句
SELECT TO_CHAR(current_date,'dd MONTH yyyy') FROM dual
这将把月份数转换为月份完整字符串
其他回答
这个对我很有用:
@MetricMonthNumber (some number)
SELECT
(DateName( month , DateAdd( month , @MetricMonthNumber - 1 , '1900-01-01' ) )) AS MetricMonthName
FROM TableName
上面的帖子来自@leoinfo和@Valentino Vranken。刚刚做了一个快速选择,它工作。
要将月号转换为月名,请尝试以下步骤
declare @month smallint = 1
select DateName(mm,DATEADD(mm,@month - 1,0))
当然可以
select datename(M,GETDATE())
用最好的方式
Select DateName( month , DateAdd( month , @MonthNumber , -1 ))
使用这个语句
SELECT TO_CHAR(current_date,'dd MONTH yyyy') FROM dual
这将把月份数转换为月份完整字符串
推荐文章
- 选项(RECOMPILE)总是更快;为什么?
- 设置数据库从单用户模式到多用户
- oracle中的RANK()和DENSE_RANK()函数有什么区别?
- 我如何转义一个百分比符号在T-SQL?
- SQL Server恢复错误-拒绝访问
- 的类型不能用作索引中的键列
- SQL逻辑运算符优先级:And和Or
- 如何检查一个表是否存在于给定的模式中
- 添加一个复合主键
- 如何在SQL Server Management Studio中查看查询历史
- SQL Server索引命名约定
- 可以为公共表表达式创建嵌套WITH子句吗?
- 什么时候我需要在Oracle SQL中使用分号vs斜杠?
- SQL Server的NOW()?
- 在SQL中,count(列)和count(*)之间的区别是什么?