MYSQL基于CURRENT_TIME的简单IF语句

标签 mysql if-statement conditional-statements

我想运行 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/

相关文章:

javascript - 您可以有条件地运行 if 语句的一部分吗?

sql-server - 如果同一个SQL表中存在游标更新

java - 从各个 "if"s 中创建一个长/大 "if'”

python - 使用条件,在 pandas DataFrame 中选择所需的列

mysql - 关于 Powerbi Embedded 报告计划刷新

mysql - 确定存储在 MySQL 中的不断扩展的二维网格中最接近的自由 X/Y 坐标集

mysql - 4张表的SQL查询: Very Complex?

java - 当进度条达到 0 时打开新的 JFrame?

javascript - 如何在 IF 语句内的字符串中使用条件

mysql - 使用 RegisterReaderHandler 在 mysql 中插入行