mysqlクエリでtrueまたはfalseを返す方法はありますか?MySQLの場合Date文?
私はテーブルを持っている:それはない場合は、現在の日付が開始日とFALSE
より大きい場合
id | start
4 | 2012-03-01 00:00:00
8 | 2012-01-20 00:00:00
私はどちらかTRUE
返すようにしたいと思います。私はPHPを介して比較を行うことができると知っていますが、私はクエリでそれを行うことができますか?
mysqlクエリでtrueまたはfalseを返す方法はありますか?MySQLの場合Date文?
私はテーブルを持っている:それはない場合は、現在の日付が開始日とFALSE
より大きい場合
id | start
4 | 2012-03-01 00:00:00
8 | 2012-01-20 00:00:00
私はどちらかTRUE
返すようにしたいと思います。私はPHPを介して比較を行うことができると知っていますが、私はクエリでそれを行うことができますか?
select case now() > start_date
then true
else false
end
from your_table
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 IF(CURDATE() > `start`, TRUE, FALSE) as QueryResult
FROM `tableName`
私はこれを知っているが、それは、日付そのものとブール値を返しません。
SELECT GREATEST('2011-12-31 23:59:59', `2012-12-31 23:59:59`) AS great_date
FROM your_table
もちろん、あなたはMySQLのクエリでそれを行うことができます。このクエリは、「高い」その後、列「START_DATE」(START_DATEが、DATE型でなければなりません)
'GETDATE()'ではないだけの行を選択します
:そして、あなたはWHEREこのようにそれを行うことができますmysqlコマンドはそれですか? –
修正 - GETDATEをCURDATEに変更しました。 – GarethD