単一の日時パラメーターを取る mysql ストアド プロシージャを作成しています。それはselect文でそれをそのまま使用します..
select *
from table
where date >= @datefrom or @datefrom is null
私がt-sqlクエリを書くとき、これは通常トリックを行いますが、mysqlでは機能していないようです.
私はまた、次のような他の変種を試しました
where date >= ifnull(@datefrom, date)
そしてまた
where ((date >= @datefrom and @datefrom is not null) or (@datefrom is null))
しかし、私が期待している結果が得られません..
誰かがこれに光を当てることができますか?
プロシージャ定義など..
CREATE DEFINER=`root`@`%` PROCEDURE `prc_xxxxxx`(datefrom datetime)
BEGIN
select * from table
where date >= @datefrom or @datefrom is null
END
そして、私はこのように呼び出します..
call prc_xxxxxx ('2012-07-04 00:00:00')
また
call prc_xxxxx (null)