cari

Rumah  >  Soal Jawab  >  teks badan

Tajuk yang ditulis semula: "Bagaimana untuk menolak nilai bigint sebagai tahun dalam MySQL"

Saya mempunyai pangkalan data MySQL dengan lajur besar yang dipanggil years_valid_for dan lajur datetime(6) dipanggil completion_date. Saya perlu menolak tahun daripada lajur besar.

Sebagai contoh, tahun_sah_untuk ialah 4 dan tarikh_siapnya ialah 2023-06-07. Saya perlu menolak 4 tahun dari 2023-06-07 untuk mendapatkan 2019-06-07.

Adakah boleh? Jika boleh, bagaimana?

Saya mencuba fungsi DATE_SUB tetapi tidak dapat mencapai hasil yang diharapkan kerana ralat sintaks.

P粉561438407P粉561438407448 hari yang lalu558

membalas semua(2)saya akan balas

  • P粉170438285

    P粉1704382852023-09-14 11:23:26

    Sintaks:- DATE_SUB(tarikh, selang nilai INTERVAL)

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

    balas
    0
  • P粉726234648

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

    Anda boleh melakukannya seperti berikut:

    SELECT *, completion_date - INTERVAL years_valid_for YEAR 
    FROM mytable

    Lihat demo di sini

    balas
    0
  • Batalbalas