我想运行 SQL 语句来返回产品的价格,但如果 current_time 在开始/结束日期内,则返回促销价格。
| id | price | promo_price | promo_start | promo_end |
+-----+---------+---------------+-------------+------------+
| 1 | 5 | 4 | 1375709473 | 1375709473 |
SQL 仅返回产品价格,无论促销如何:
SELECT p.`price`
FROM products p
WHERE p.`id` = 1
如何将其创建为 SQL-IF 语句?
非常感谢。
最佳答案
SELECT
IF(unix_timestamp() BETWEEN p.promo_start AND p.promo_end, p.promo_price, p.price) as real_price
FROM products p
WHERE p.id = 1
关于MYSQL基于CURRENT_TIME的简单IF语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18059512/