1
私は、このSQLクエリがあります。oracleの日付フィールドが照会された範囲に含まれないのはなぜですか?
select email_id, to_char(last_update_date, 'YYYY-MM-DD hh:mi:ss')
from profile_table
where last_update_date < sysdate and
last_update_date > sysdate -1;
しかし、私はそのクエリが、その「場所」の範囲内でなければならないレコードを欠落していることをかなり確信している結果
EMAIL_ID TO_CHAR(last_update_date, 'YYYY-MM-DD hh:mi:ss') ------------------------ ------------------------------------------------ [email protected] 2017-03-28 12:00:04 [email protected] 2017-03-28 03:45:26 [email protected] 2017-03-29 08:24:12 [email protected] 2017-03-29 11:16:00
を返します。これを発行すると、次のようになります:
select email_id, to_char(last_update_date, 'YYYY-MM-DD hh:mi:ss')
from profile_table
where email_id = '[email protected]'
select to_char(sysdate,'YYYY-MM-DD hh:mm:ss'), to_char(sysdate-1,'YYYY-MM-DD hh:mm:ss')
from dual
TO_CHAR(SYSDATE,'YYYY-MM-DD HH:MI:SS') TO_CHAR(SYSDATE-1,'YYYY-MM-DD HH:MI:SS') ------------------------------------- --------------------------------------- 2017-03-29 11:12:19 2017-03-28 11:12:19
明らか2017年3月29日午前5時53分33秒必要があります:0それは実行時に私のSYSDATEは以下の通りです
EMAIL_ID TO_CHAR(last_update_date, 'YYYY-MM-DD hh:mi:ss') ------------------------ ------------------------------------------------ [email protected] 2017-03-29 05:53:33
を返します。間に入る2017-03-29 11:12:19および2017-03-28 11:12:19。誰が何が起こっているか考えている?
時間形式には 'hh24'を使用してください。そうでない場合はam/pmインジケータを使用してください。すべての時間はあいまいです – Mat
それだけです。 @Matはそれを解決する。みんなありがとう! – kfitri