LoginSignup
0
0

SQLで日付の比較をおこなう(oracle)

Last updated at Posted at 2023-11-06

やりたいこと

PHP上でSQLを利用して日付型カラムと指定した日付で比較を行いたい。
検索フォームで日付を指定し、該当する日付のもので検索を書けるようなシステム。
検索フォームからの日付は$search['regist_date']としてPHP側に渡る。
使用DBはoracle

成功したSQL

$sql = "SELECT * from customer";
$sql .= "where regist_date = TO_DATE('".$search['regist_date']."', 'YYYY/MM/DD')";

必要だったこと

  • 検索フォームで指定した日付をTO_DATEで日付型にする。
TO_DATE('日付型文字列', 'フォーマット')

このとき、$search['regist_date']をシングルクォーテーション(’ ’)で囲んでいなかったのが失敗した原因の1つだった。

まとめ

TO_DATEの書式の理解に足りていない部分があった。また、TO_CHAR(TO_DATE(... の書き方と混ざっている部分もあった。単純な日付の比較ではTO_DATEだけで事足りると思われる。
また、日付の比較では=が使えないという話も見られたがそのようなことは(Oracleでは)なさそう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0