我在此CASE声明中有一个问题。希望它是一个语法问题。
CASE quot_status.open_auth_date IS NULL
WHEN 1 THEN 'Pending'
WHEN 2 THEN 'Completed'
ELSE IF WHEN tender.open_authorization > quot_status.open_auth_date THEN 'Due'
END
AS `Open Auth Status`
在上面的bid.open_authorization和quot_status.open_auth_date就像比较日期。
让我解释一下情况。我在mysql数据库中有两个日期字段。第一个字段称为“ quot_status.open_auth_date”,第二个字段称为“ tender.open_authorization”。我需要在这里检查3个条件。第一个条件是我需要检查'tender.open_authorization> quot_status.open_auth_date',然后“打开身份验证状态”应显示结果“到期”。如果到期,则必须退出或结束案例声明。第二个条件是我应该检查quot_status.open_auth_date ='NULL',如果其NULL Open Auth Status应该将结果显示为'Pending',否则应该显示'Completed'。
最佳答案
CASE quot_status.open_auth_date
WHEN 1 THEN 'Pending'
WHEN 2 THEN 'Completed'
WHEN tender.open_authorization > quot_status.open_auth_date THEN 'Due'
END AS `Open Auth Status`
试试这个代码