我有一个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函数,但由于语法错误,无法达到预期的结果
bxpogfeg1#
您可以按以下方式执行此操作:
SELECT *, completion_date - INTERVAL years_valid_for YEAR FROM mytable
Demo here
t2a7ltrp2#
语法:- DATE_SUB(date,INTERVAL value interval)
SELECT DATE_SUB(completion_date, INTERVAL years_valid_for YEAR) AS res_date FROM your_table_name
2条答案
按热度按时间bxpogfeg1#
您可以按以下方式执行此操作:
Demo here
t2a7ltrp2#
语法:- DATE_SUB(date,INTERVAL value interval)