如何在SQL中从日期获取月份和年份

如何在SQL中从日期获取月份和年份,sql,sql-server,datetime,Sql,Sql Server,Datetime,我需要帮助从yyyymmdd格式的日期获取月份和年份 日期如下所示,“20150102”,输出应为2015年1月 我希望输出为单个值,当前使用datepart函数,我将获得月份和年份的两个不同列的输出这可能会有帮助: SQL Server: SELECT FORMAT (GETDATE(), 'MMM yyyy') -- Jul 2019 SELECT FORMAT (GETDATE(), 'MMMM yyyy') -- July 2019 SELECT RIGHT(CONVERT(VARCH

我需要帮助从yyyymmdd格式的日期获取月份和年份

日期如下所示,“20150102”,输出应为2015年1月

我希望输出为单个值,当前使用datepart函数,我将获得月份和年份的两个不同列的输出

这可能会有帮助:

SQL Server:

SELECT FORMAT (GETDATE(), 'MMM yyyy')  -- Jul 2019
SELECT FORMAT (GETDATE(), 'MMMM yyyy') -- July 2019
SELECT RIGHT(CONVERT(VARCHAR(11), GETDATE(), 106), 8) -- Jul 2019
有关详细信息:

MySQL:

SELECT DATE_FORMAT("20150102", "%M %Y");  -- January 2015
SELECT DATE_FORMAT("20150102", "%b %Y"); -- Jan 2015
SELECT YEAR(date) AS 'year', MONTH(date) AS 'month'
有关详细信息:

这可能有助于:

SQL Server:

SELECT FORMAT (GETDATE(), 'MMM yyyy')  -- Jul 2019
SELECT FORMAT (GETDATE(), 'MMMM yyyy') -- July 2019
SELECT RIGHT(CONVERT(VARCHAR(11), GETDATE(), 106), 8) -- Jul 2019
有关详细信息:

MySQL:

SELECT DATE_FORMAT("20150102", "%M %Y");  -- January 2015
SELECT DATE_FORMAT("20150102", "%b %Y"); -- Jan 2015
SELECT YEAR(date) AS 'year', MONTH(date) AS 'month'

有关详细信息:

MySQL将日期字符串识别为日期,因此您可以使用
date\u format()
获取所需的格式:

select date_format('20150102', '%b %Y')

MySQL会将日期字符串识别为日期,因此您可以使用
date\u format()
获取所需的格式:

select date_format('20150102', '%b %Y')

有一个所有不同的sql日期格式的列表

有一个所有不同的sql日期格式的列表

检查
date\u format()
函数:检查
date\u format()
函数:谢谢Gordon,它给了我一个错误,告诉我date\u format'不是公认的内置函数名。另外,我的要求不仅仅是这个特定字段,而是整个列。感谢Gordon,它给了我一个错误,即DATE_FORMAT“不是公认的内置函数名。另外,我的要求不仅是这个特定字段,而且是整个列。谢谢你,Khairl,但这不起作用,我需要一个日期字段的输出,该字段是yyyymmdd格式,以给我monthname和year。请看第二行,它是根据你的要求输出的,我猜前面的标记没有指定此要求是针对SQL Server的。这就是这个解决方案没有通过的原因吗?谢谢Khairul,这是可行的,但是在这种情况下,我如何使用order by,以便按时间顺序获得输出。我想查看“本月-年”字段中的销售额,因此它应该给出2015年1月-1000日、2015年2月-2000年的输出,依此类推。目前,其捐赠金额为2015年1月-1000,2016年1月-5000。这有意义吗?我想我问的是如何在这里写order by子句谢谢你Khairl但这不起作用,我需要一个yyyymmdd格式的日期字段的输出来给我monthname和Year请看第二行,它是按你的要求输出的,我猜前面的标记没有指定此要求是针对SQL Server的。这就是这个解决方案没有通过的原因吗?谢谢Khairul,这是可行的,但是在这种情况下,我如何使用order by,以便按时间顺序获得输出。我想查看“本月-年”字段中的销售额,因此它应该给出2015年1月-1000日、2015年2月-2000年的输出,依此类推。目前,其捐赠金额为2015年1月-1000,2016年1月-5000。这有意义吗?我想我问的是如何在这里写ORDERBY子句