MySQL减去bigint值作为year

disbfnqx  于 2023-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(137)

我有一个MySQL数据库,其中一列years_valid_for为bigint,另一列completion_date为datetime(6)。我必须减去bigint列数作为年份。
例如,years_valid_for为4,completion_date为2023 - 06 - 07。我必须从2023 - 06 - 07减去4年,得到2019 - 06 - 07。
这可能吗?如果是,如何进行?
我尝试了DATE_SUB函数,但由于语法错误,无法达到预期的结果

bxpogfeg

bxpogfeg1#

您可以按以下方式执行此操作:

SELECT *, completion_date - INTERVAL years_valid_for YEAR 
FROM mytable

Demo here

t2a7ltrp

t2a7ltrp2#

语法:- DATE_SUB(date,INTERVAL value interval)

SELECT DATE_SUB(completion_date, INTERVAL years_valid_for YEAR) AS res_date FROM your_table_name

相关问题