在MySQL中将整列从YYYY-MM-DD更改为月数



假设MySQL中有一整列是YYYY-MM-DD,您希望将其选择为到特定日期的月数,并将其作为一个新列。示例日期可以是2020年3月。

因此,以下(表_1(:

Emp_Name Hire_Date
Steve 2018-03-28

TIMESTAMPDIFF(MONTH,startDate,endDate(是正确的函数。

日期常量需要显示为文本字符串。'2021-04-01'是2021年愚人节。但不带引号的2021-04-01是一个对2016求值的算术表达式。

这是一把小提琴。

SELECT emp_name, 
hire_date, 
TIMESTAMPDIFF(MONTH, hire_date, '2022-03-07') 
FROM table_1

有一个mysql函数可以通过传递年份和月份来实现这一点。PERIOD_DIFF(P1,P2(-返回周期P1和P2之间的月数。P1和P2的格式应为YYYMM或YYYYMM。请注意,周期参数P1和P2不是日期值

SELECT PERIOD_DIFF(200802,200703);
-> 11
SELECT emp_name,
PERIOD_DIFF
(
202104,
DATE_FORMAT(hire_date,"%Y%m")
) AS "Months_Employed"
FROM employees;

您可以使用以下查询中的功能添加生成的列:

select d,timestampdiff(month,'2020-03-01',d) X from dates where day(d)=1 and year(d)<=2020;

输出:

dX
2020-01-01-2
2020-02-01-1
2020-03-010
2020-04-011
2020-05-012
2020-06-013

相关内容

  • 没有找到相关文章

最新更新