2017-09-03 87 views
-3

MySQL事件我需要對於那些患者,它的註冊之前用於選擇註冊ID

table first (registration_table)

second table (patient_status)

完成30天插入患者形式第一表(registration_table)到第二表(patient_status)的REG_ID

我的查詢

INSERT INTO patient_status(reg_id) SELECT reg_id FROM registration_table 
WHERE DATEDIFF(day,reg_date,getdate()) >= 30 

它說

在調用本地函數「DATEDIFF」

不正確的參數個數

+2

[DATEDIFF()']文檔(https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_datediff)非常清晰:**兩個參數**和兩個參數。 – tadman

回答

0

則DateDiff返回當天的號,所以你需要簡單地在MySQL中,你應該使用CURDATE()(GETDATE()應該是從SQL服務器)

INSERT INTO patient_status(reg_id) 
    SELECT reg_id FROM registration_table 
    WHERE DATEDIFF(curdate(), reg_date) >= 30 
-1

您正在向DATEDIFF(開始,結束)函數提供第三個參數。