MySQL Если Дата заявления? - PullRequest
1 голос
/ 07 февраля 2012

Есть ли способ вернуть true или false через запрос mysql?

У меня есть таблица:

id | start 
4  | 2012-03-01 00:00:00
8  | 2012-01-20 00:00:00

Я хотел бы вернуть либо TRUE, если текущая датабольше даты начала и FALSE, если это не так.Я знаю, что могу делать сравнения через PHP, но мне интересно, могу ли я сделать это с помощью запроса?

Ответы [ 5 ]

3 голосов
/ 07 февраля 2012
SELECT IF(CURDATE() > `start`, TRUE, FALSE) as QueryResult
FROM `tableName`
1 голос
/ 12 ноября 2014

Конечно, вы можете сделать это в запросе MySQL. И вы можете сделать это в ГДЕ так:

SELECT * FROM your_table WHERE IF (CURDATE() > start_date, 1, 0) = 1;

этот запрос выберет только те строки, которые «выше» столбца «start_date» (начальная дата должна иметь тип DATE)

1 голос
/ 07 февраля 2012
select case now() > start_date 
         then true 
         else false
       end
from your_table
1 голос
/ 07 февраля 2012
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]
0 голосов
/ 07 февраля 2012

Я знаю это, но она возвращает саму дату, а не логическое значение.

SELECT GREATEST( '2011-12-31 23:59:59', `2012-12-31 23:59:59` ) AS great_date
FROM your_table  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...