如何用SQL的GETDATE()函数获取YYYYmm格式的日期周期?
解决SQL Server日期转换为YYYYmm格式的问题
别担心,要把日期转成YYYYmm格式其实很简单,给你几种常用的实用方法:
方法一:利用
CONVERT预定义样式截取
SQL Server里的样式112会返回YYYYMMDD格式的字符串,我们只需要截取前6位就能得到目标格式:SELECT LEFT(CONVERT(VARCHAR(8), GETDATE(), 112), 6) AS YearMonth;用
SUBSTRING截取也能达到同样效果:SELECT SUBSTRING(CONVERT(VARCHAR(8), GETDATE(), 112), 1, 6) AS YearMonth;方法二:用
FORMAT函数直接指定格式(SQL Server 2012及以上版本)
这个方法可读性更强,直接通过格式字符串输出YYYYmm:SELECT FORMAT(GETDATE(), 'yyyyMM') AS YearMonth;注意:
FORMAT的性能略低于CONVERT,如果是处理超大量数据的场景,优先考虑第一种方法。方法三:拼接年份与补零后的月份
你也可以分别提取年份和月份,再把月份补成两位数后拼接,确保9月会显示为09而非9:SELECT CONVERT(VARCHAR(4), YEAR(GETDATE())) + RIGHT('0' + CONVERT(VARCHAR(2), MONTH(GETDATE())), 2) AS YearMonth;
这些方法都能输出你想要的YYYYmm格式结果,根据你的SQL Server版本和实际场景选择即可~
内容的提问来源于stack exchange,提问作者Sugandha Sharma
相关产品推荐
相关产品推荐

