1

Oracle10gのPL/SQLに、思ったように動作しないクエリがあります。私は100%愚かなことをしていると確信しているので、ごめんなさい。

次のようなテーブルにいくつかのデータがあります。

ここに画像の説明を入力してください

次にクエリを実行しましたが、次のようにtime要素を使用しました。

select * from dw_time
where createdtime > to_date('2012/04/12 03:06:00', 'yyyy/mm/dd hh24:mi:ss')

これを実行すると、画像03:05AMの行を含むレコードが返されます。それで、それがto_date関数だと思って、私はそれをチェックしました:

select  to_date('2012/04/12 10:24:00', 'yyyy/mm/dd hh:mi:ss')
from dual;

結果

今ではそれが時間としてはっきりとわかっているので、私は完全に混乱しました。だから私はそれをもう一度試しました:

select * from dw_time
where createdtime > to_date('2012/04/12 03:06:00', 'yyyy/mm/dd hh24:mi:ss')

ここに画像の説明を入力してください

ご覧のとおり、時間コンポーネントを完全に無視しています。この時点で、私はここで教祖に尋ねる時が来たと思いました!

どうもありがとう

マイク

4

2 に答える 2

1

テーブルの「2012年12月4日」が2012年12月4日を意味し、クエリがそれをMM / DD / YYYY形式で出力する可能性はありますか?

于 2012-12-04T12:00:04.687 に答える
0

DB出力の日付形式を見てください-それはMM/DD /YYYYです-あなたはそれを次の出力で見ることができます:

 select  to_date('2012/04/12 10:24:00', 'yyyy/mm/dd hh:mi:ss') from dual;

したがって、選択を次のように変更します。

select * from dw_time where createdtime > to_date('2012/12/04 03:06:00', 'yyyy/mm/dd hh24:mi:ss')

次のクエリで日付の出力形式を確認できます。

select * from nls_session_parameters where parameter = 'NLS_DATE_FORMAT';

そして、あなたはこれによって日付出力フォーマットを変えることができます:

alter session set NLS_DATE_FORMAT='DD/MM/YYYY HH24:MI:SS';
于 2012-12-04T11:52:37.010 に答える