我有有效性到期检查之类的要求,它应根据编码返回True / False。相关的mysql原始查询如下所示:
SELECT (valid_to_date > CURRENT_DATE ) AS is_expired
FROM order_deals AS os
WHERE order_id=1;
Q)如何使用序列化方法和运算符来转换它?
答案 0 :(得分:1)
好吧,你可以做这样的事情
SELECT IF(valid_to_date > CURRENT_DATE,1,0) AS is_expired
FROM order_deals AS os
WHERE order_id=1;
如果有效日期> CURRENT_DATE为true,则返回1(如果不为0)。
案例还可以提供相同的功能,它可能比IF
更容易理解。
SELECT CASE WHEN valid_to_date > CURRENT_DATE THEN 1 ELSE 0 END AS is_expired
FROM order_deals AS os
WHERE order_id=1;