Heim > Fragen und Antworten > Hauptteil
Ich habe eine MySQL-Datenbank mit einer Bigint-Spalte namens years_valid_for und einer datetime(6)-Spalte namensCompletion_date. Ich muss das Jahr von einer Bigint-Spalte subtrahieren.
Zum Beispiel ist years_valid_for der Wert 4 und das Fertigstellungsdatum der 07.06.2023. Ich muss 4 Jahre vom 07.06.2023 abziehen, um den 07.06.2019 zu erhalten.
Ist es möglich? Wenn möglich, wie?
Ich habe die Funktion DATE_SUB ausprobiert, konnte aber aufgrund eines Syntaxfehlers nicht das erwartete Ergebnis erzielen.
P粉1704382852023-09-14 11:23:26
Syntax:- DATE_SUB(date, INTERVAL value interval)
SELECT DATE_SUB(completion_date, INTERVAL years_valid_for YEAR) AS res_date FROM your_table_name
P粉7262346482023-09-14 00:26:16
你可以按照以下方式进行操作:
SELECT *, completion_date - INTERVAL years_valid_for YEAR FROM mytable