Heim  >  Fragen und Antworten  >  Hauptteil

Umgeschriebener Titel: „So subtrahieren Sie den Bigint-Wert als Jahr in MySQL“

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粉561438407P粉561438407423 Tage vor547

Antworte allen(2)Ich werde antworten

  • P粉170438285

    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

    Antwort
    0
  • P粉726234648

    P粉7262346482023-09-14 00:26:16

    你可以按照以下方式进行操作:

    SELECT *, completion_date - INTERVAL years_valid_for YEAR 
    FROM mytable

    在这里查看演示

    Antwort
    0
  • StornierenAntwort