sql >> データベース >  >> RDS >> Oracle

Oracle の to_timestamp_tz が間違った時刻やタイムゾーンを返すのはなぜですか?

    TZD サマータイム情報を意味します。 TZD 値は、夏時間情報を含む短縮されたタイム ゾーン文字列です。 TZR で指定された地域に対応している必要があります。

    タイム ゾーン地域なしで TZD を使用することはあいまいです。次のクエリで確認してください:

    SELECT tzabbrev, tzname, TZ_OFFSET(tzname) 
    FROM V$TIMEZONE_NAMES 
    WHERE tzabbrev in ('PST', 'EST');
    
    TZABBREV    TZNAME  TZ_OFFSET(TZNAME)
    EST America/Antigua -04:00
    EST America/Atikokan    -05:00
    EST America/Cambridge_Bay   -07:00
    EST America/Cancun  -06:00
    EST America/Cayman  -05:00
    EST America/Chicago -06:00
    EST America/Coral_Harbour   -05:00
    EST America/Detroit -05:00
    EST America/Fort_Wayne  -05:00
    EST America/Grand_Turk  -05:00
    EST America/Indiana/Indianapolis    -05:00
    EST America/Indiana/Knox    -06:00
    EST America/Indiana/Marengo -05:00
    EST America/Indiana/Petersburg  -05:00
    EST America/Indiana/Tell_City   -06:00
    EST America/Indiana/Vevay   -05:00
    EST America/Indiana/Vincennes   -05:00
    EST America/Indiana/Winamac -05:00
    EST America/Indianapolis    -05:00
    EST America/Iqaluit -05:00
    EST America/Jamaica -05:00
    EST America/Kentucky/Louisville -05:00
    EST America/Kentucky/Monticello -05:00
    EST America/Knox_IN -06:00
    EST America/Louisville  -05:00
    EST America/Managua -06:00
    EST America/Menominee   -06:00
    EST America/Merida  -06:00
    EST America/Moncton -04:00
    EST America/Montreal    -05:00
    EST America/Nassau  -05:00
    EST America/New_York    -05:00
    EST America/Nipigon -05:00
    EST America/Panama  -05:00
    EST America/Pangnirtung -05:00
    EST America/Port-au-Prince  -05:00
    EST America/Rankin_Inlet    -06:00
    EST America/Resolute    -06:00
    EST America/Santo_Domingo   -04:00
    EST America/Thunder_Bay -05:00
    EST America/Toronto -05:00
    EST Antarctica/Macquarie    +11:00
    EST Australia/ACT   +11:00
    EST Australia/Brisbane  +10:00
    EST Australia/Broken_Hill   +10:30
    EST Australia/Canberra  +11:00
    EST Australia/Currie    +11:00
    EST Australia/Hobart    +11:00
    EST Australia/LHI   +11:00
    EST Australia/Lindeman  +10:00
    EST Australia/Lord_Howe +11:00
    EST Australia/Melbourne +11:00
    EST Australia/NSW   +11:00
    EST Australia/Queensland    +10:00
    EST Australia/Sydney    +11:00
    EST Australia/Tasmania  +11:00
    EST Australia/Victoria  +11:00
    EST Australia/Yancowinna    +10:30
    EST CST -06:00
    EST Canada/Eastern  -05:00
    EST EST -05:00
    EST EST5EDT -05:00
    EST Jamaica -05:00
    EST US/Central  -06:00
    EST US/East-Indiana -05:00
    EST US/Eastern  -05:00
    EST US/Indiana-Starke   -06:00
    EST US/Michigan -05:00
    PST America/Bahia_Banderas  -06:00
    PST America/Boise   -07:00
    PST America/Creston -07:00
    PST America/Dawson  -08:00
    PST America/Dawson_Creek    -07:00
    PST America/Ensenada    -08:00
    PST America/Hermosillo  -07:00
    PST America/Inuvik  -07:00
    PST America/Juneau  -09:00
    PST America/Los_Angeles -08:00
    PST America/Mazatlan    -07:00
    PST America/Metlakatla  -08:00
    PST America/Santa_Isabel    -08:00
    PST America/Sitka   -09:00
    PST America/Tijuana -08:00
    PST America/Vancouver   -08:00
    PST America/Whitehorse  -08:00
    PST Canada/Pacific  -08:00
    PST Canada/Yukon    -08:00
    PST Mexico/BajaNorte    -08:00
    PST Mexico/BajaSur  -07:00
    PST PST -08:00
    PST PST8PDT -08:00
    PST Pacific/Pitcairn    -08:00
    PST US/Pacific  -08:00
    PST US/Pacific-New  -08:00
      

    TO_TIMESTAMP_TZ() を使用する場合 TZR を使用する必要があります

    TO_TIMESTAMP_TZ('09:55:50 Dec 19, 2016 PST', 'HH24:MI:SS Mon DD, YYYY TZD') TO_TIMESTAMP_TZ('09:55:50 Dec 19, 2016 '||SESSIONTIMEZONE||' PST', 'HH24:MI:SS Mon DD, YYYY TZR TZD') と同等です 。現在のセッションのタイム ゾーンの略語が PST でない場合、失敗します。 /EST .



    1. オブジェクト配列をnodejs/pg/unnestと互換性のある配列に変換します

    2. ストップワードとMySQLブールフルテキスト

    3. SQLServerへの接続が機能する場合がある

    4. switchステートメントにコンマで値を挿入する方法