2017-09-03 66 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(开始,结束)函数提供第三个参数。