MySQL If Date语句?
有没有办法通过mysql查询返回true或false 我有一张桌子:MySQL If Date语句?,mysql,date,if-statement,Mysql,Date,If Statement,有没有办法通过mysql查询返回true或false 我有一张桌子: id | start 4 | 2012-03-01 00:00:00 8 | 2012-01-20 00:00:00 如果当前日期大于开始日期,则返回TRUE,如果不大于开始日期,则返回FALSE。我知道我可以通过PHP进行比较,但我想知道是否可以通过查询进行比较?我知道这一点,但它返回的是日期本身,而不是布尔值 SELECT CASE WHEN CURDATE() > Start_Date THEN 1 ELS
id | start
4 | 2012-03-01 00:00:00
8 | 2012-01-20 00:00:00
如果当前日期大于开始日期,则返回
TRUE
,如果不大于开始日期,则返回FALSE
。我知道我可以通过PHP进行比较,但我想知道是否可以通过查询进行比较?我知道这一点,但它返回的是日期本身,而不是布尔值
SELECT CASE WHEN CURDATE() > Start_Date THEN 1 ELSE 0 END [BitOutput],
CASE WHEN CURDATE() > Start_Date THEN true ELSE false END [BooleanOutput],
CASE WHEN CURDATE() > Start_Date THEN 'true' ELSE 'false' END [TextOutput]
SELECT GREATEST( '2011-12-31 23:59:59', `2012-12-31 23:59:59` ) AS great_date
FROM your_table
我知道这一点,但它返回的是日期本身,而不是布尔值
SELECT GREATEST( '2011-12-31 23:59:59', `2012-12-31 23:59:59` ) AS great_date
FROM your_table
当然,您可以在MySQL查询中执行此操作。你可以这样做:
SELECT * FROM your_table WHERE IF (CURDATE() > start_date, 1, 0) = 1;
此查询将只选择比“开始日期”列“高”的行(开始日期必须是日期类型)当然,您可以在MySQL查询中执行此操作。你可以这样做:
SELECT * FROM your_table WHERE IF (CURDATE() > start_date, 1, 0) = 1;
此查询将只选择比“开始日期”列“更高”的行(开始日期必须是日期类型)Correct-将GETDATE更改为CURDATE。Correct-将GETDATE更改为CURDATE。