有没有办法通过mysql查询返回true或false?
我有一张桌子:
id | start
4 | 2012-03-01 00:00:00
8 | 2012-01-20 00:00:00
如果当前日期大于开始日期,我想返回TRUE
,如果不是,则返回FALSE
。我知道我可以通过PHP进行比较,但我想知道我是否可以通过查询来做到这一点?
答案 0 :(得分:3)
SELECT IF(CURDATE() > `start`, TRUE, FALSE) as QueryResult
FROM `tableName`
答案 1 :(得分:1)
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]
答案 2 :(得分:1)
select case now() > start_date
then true
else false
end
from your_table
答案 3 :(得分:1)
当然你可以在MySQL查询中做到这一点。你可以在这样的地方做到这一点:
SELECT * FROM your_table WHERE IF (CURDATE() > start_date, 1, 0) = 1;
此查询将仅选择“更高”的行,然后选择“start_date”列(start_date必须为DATE类型)
答案 4 :(得分:0)
我知道这一点,但它返回日期本身而不是布尔值。
SELECT GREATEST( '2011-12-31 23:59:59', `2012-12-31 23:59:59` ) AS great_date
FROM your_table