データベースに関する私の経験のほとんどは SQL サーバーに関連しているため、私は Oracle に関しては特に優れた人物ではありません。
Oracleで単純な日付(時間またはタイムゾーンを含まない)に変換しようとしているJava日付があるので、日付が同じ日かどうかを単純に検索するカスタムmybatis SQLステートメントで使用できますユーザーインターフェースに入力されたものとして。MyBatis で起こっていることを反映した私のモック oracle クエリは、失敗した WHERE 句として以下に記述されています。
私の日付は、'Wed Jun 19 00:00:00 BST 2013' という形式で Oracle に入力されますが、残念ながら、その形式にはあまり柔軟性がありません。
私の失敗した WHERE 句は次のとおりです。
where TRUNC(s.logged_date) = to_date('Wed Jun 19 00:00:00 BST 2013', 'DD-MON-YYYY');
次のエラーで失敗します: ORA-01858: 数値が必要な場所に数値以外の文字が見つかりました。
テーブル内の日付は DATE データ形式で格納されており、次のような WHERE 句を作成しようとしています。
WHERE TRUNC(s.logged_date) = some date in the year
行を返します。
WHERE 句を使用して、時間に関係なく日付の等価性を探しています。s.logged_date の値の形式は、DATE データ型列の DD-MON-YYYY です。
私は手渡さなければならなかった本を使用し、インターネットをかなり長い間探し回って、正しく機能する WHERE 句を作成してきたので、これで私を助けてくれることを本当に願っています.
ありがとう