キムラデービーブログ

オープンソースデータベースを加速する「キムラデービー」のブログです。カレー日記を兼ねてます。なお著者は2010-06-01より日本オラクルに在籍していますが、本サイト(ブログ、またはウェブサイト)において示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。
<< "Firebird on the road from V4 to V5"(5) Firebird 4でのNUMERIC / DECIMALの改善 | main | "Firebird on the road from V4 to V5"(7) Firebird 4でのタイムゾーンサポート(2) >>
"Firebird on the road from V4 to V5"(6) Firebird 4でのタイムゾーンサポート
0
    "Firebird on the road from V4 to V5"(6) Firebird 4でのタイムゾーンサポート

    本エントリはFirebird Advent Calendar 2019の十日目です。

    "Firebird on the road from v4 to v5"はFirebirdの初日に行われた最初のセッションで、
    Firebird Projectのドミトリィ・ヤマノフ(Dmitry Yemanov)により行われました。資料は以下のリンクから取得できます。

    "Firebird on the road from v4 to v5"

    本日は「Firebird 4.0 Preview」パートのタイムゾーンサポートについて説明します。

    Firebird 3.0までは日付時刻型ではタイムゾーンの扱いはできませんでした。
    そのため、ローカルタイムで統一して利用するか、UTCで格納して、クライアント側でタイムゾーンを意識した操作をする必要がありました。

    Firebird 4.0ではこれを容易に扱うためにSQL標準(SQL:2008)に従ったWITH TIMEZONEをサポートすることになりました。

    ・TIME[STAMP] WITHOUT TIME ZONE タイムゾーンなしのTIME[STAMP](デフォルト)
    ・TIME[STAMP] WITH TIME ZONE
    ・タイムゾーン情報のために2-byte追加
    タイムソーンはリージョン名での定義、例えば
    '10:00 America/Los_Angeles'
    もしくGMT(UTC)からの差異(時:分)、例えば下記で定義
    '10:00 -08:00' or '10:00 -08'
     Time / timestamp 部分はUTCとして(compared, sorted)格納
     タイムゾーンは≪そのまま(as is)≫格納

    他のデータベースの実装状況は以下のとおりです。(WITH TIME ZONE省略時のデフォルトはWITHOUT TIME ZONE)

    Oracle DB: WITH TIME ZONEでサポート。(9i以降)
    SQL Server: datetimeoffsetでサポート(2008以降)
    IBM Db2: なし(zOS用Db2ではバージョン10でサポート)
    MySQL:timestampで対応。格納時に現在のタイムゾーンからUTCに、読み出しではUTCから現在のタイムゾーンに変換。(WITH TIMEZONEは未サポート)
    PostgreSQL:WITH TIME ZONEでサポート。7.3より前のバージョンでは省略時のデフォルトがWITH TIME ZONEでしたが、7.3以降はSQL標準どおりになりました。
    SQLite: なし。すべてUTCで扱う

    日本はタイムゾーンが+09:00で全国統一されていますが、緯度的に国土が広い国では複数のタイムゾーンがあります。
    (日本でも一時話題になったサマータイム(DST: Daylight Saving Time)設定がある国もあります)
    また、分の単位での設定があるため、SQL標準でも分の単位が扱えるようになっています。

    時間帯 (標準時)(Wikipedia)



    [ここからはFirebirdに直接関係ない話です]
    Webで見つけた以下の豆知識おもしろかったです。

    タイムゾーンの豆知識3つ|Hinemosu

    Oracleについての記事は山下さんのこちらの記事がわかりやすかったです。

    日付データ演算の達人技を伝授する 【第3話】 (1/3)

    Oracleでは本体のアップグレード時、それとあわせて、タイムゾーンのアップグレードも必要とのこと。

    忘れずに!アップグレード後の作業

    Oracle Database 12c へのアップグレード / 移行とデータベース統合(Part 1)

    Db2ではタイムゾーン用のデータ型や知見は見つかりませんでしたが、日付時刻の扱いで、ここらへんの記事やブログエントリが読み物として面白かったです。

    日付と時刻であそぶ(IBM Developerサイト)


    標準SQL での日付・時刻の扱い方(i am BEST)


    "一番ベンダー独自色の少ないデータベース"を例にとって日付・時刻の計算をシンプルに理解しよう(i am BEST)

    JUGEMテーマ:コンピュータ



    | meijik | Firebird/InterBase | 06:00 | comments(0) | trackbacks(0) | - | - |









    トラックバック機能は終了しました。
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  
    << April 2020 >>
    + RECOMMEND
    100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊
    100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊 (JUGEMレビュー »)

    100人のうちの一人としてミックさんの本を推薦しています。
    + RECOMMEND
    MySQL 5.1 Plugin Development
    MySQL 5.1 Plugin Development (JUGEMレビュー »)
    Andrew Hutchings,Sergei Golubchik
    MySQL 5.1 のプラグインを作るならこれ!
    + RECOMMEND
    AWKを256倍使うための本 (Ascii 256倍)
    AWKを256倍使うための本 (Ascii 256倍) (JUGEMレビュー »)
    志村 拓,鷲北 賢,西村 克信
    ここにきてまさかの復刊。15〜16年前の本ですが、いまでも十分役立ちますよ!!
    + RECOMMEND
    Linux-DB システム構築/運用入門 (DB Magazine SELECTION)
    Linux-DB システム構築/運用入門 (DB Magazine SELECTION) (JUGEMレビュー »)
    松信 嘉範
    Linux-DB システム構築の新スタンダード。DB Magazine人気連載、待望の書籍化です!!
    + RECOMMEND
    + RECOMMEND
    超・極める!MySQL
    超・極める!MySQL (JUGEMレビュー »)
    坂井 恵,志村 和彦,ひろせ まさあき,松信 嘉範
    内容は少々古くなりましたが、内部説明があり、いろいろ面白いです。
    + RECOMMEND
    The Root of .NET Framework
    The Root of .NET Framework (JUGEMレビュー »)
    荒井 省三
    .NETの根っこをつかむ、か?
    + RECOMMEND
    エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド
    エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド (JUGEMレビュー »)
    奥野 幹也
    これまでにない構築、そして構築後のMySQLのための本。
    + RECOMMEND
    Database Management Systems
    Database Management Systems (JUGEMレビュー »)
    Raghu Ramakrishnan,Johannes Gehrke
    ミックさん連載の参考書籍です。
    + RECOMMEND
    Advanced Programming in the UNIX Environment: Paperback Edition (2nd Edition) (Addison-Wesley Professional Computing Series)
    Advanced Programming in the UNIX Environment: Paperback Edition (2nd Edition) (Addison-Wesley Professional Computing Series) (JUGEMレビュー »)
    W. Richard Stevens,Stephen A. Rago
    必読! といいつつ私が読んだのは初版の日本語訳です。差分はチェックしないといけませんね。
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    Western Digital Scorpio Blue 2.5inch 5400rpm 320GB 8MB PATA WD3200BEVE
    Western Digital Scorpio Blue 2.5inch 5400rpm 320GB 8MB PATA WD3200BEVE (JUGEMレビュー »)

    DELL SX260の換装用に購入。今はコチラのほうが安いですね。
    + RECOMMEND
    情熱プログラマー ソフトウェア開発者の幸せな生き方
    情熱プログラマー ソフトウェア開発者の幸せな生き方 (JUGEMレビュー »)
    Chad Fowler
    OSC2010神戸に出展されたジュンク堂で買いました。
    + RECOMMEND
    Software Design 総集編 【2000~2009】(DVD付)
    Software Design 総集編 【2000~2009】(DVD付) (JUGEMレビュー »)

    メガトン級の過去記事。売り切れる前にお店に急げ!
    + RECOMMEND
    + RECOMMEND
    玄人志向 2.5型HDDケース SATA対応USB2.0接続 GW2.5AI-SU2
    玄人志向 2.5型HDDケース SATA対応USB2.0接続 GW2.5AI-SU2 (JUGEMレビュー »)

    Aspire 1410 HDD換装後、昔のHDDはこれにいれます。
    + RECOMMEND
    + RECOMMEND
    acer Aspire Timeline AS1410 11.6型ノートPC Windows7搭載 250GB ブラック AS1410-KK22
    acer Aspire Timeline AS1410 11.6型ノートPC Windows7搭載 250GB ブラック AS1410-KK22 (JUGEMレビュー »)

    色違い黒(他に青と白があります): メモリは最大4GBとあるが、がんばれば8GBいけるらしい。
    + RECOMMEND
    Firebird 徹底入門
    Firebird 徹底入門 (JUGEMレビュー »)
    木村 明治,はやし つとむ,坂井 恵
    Firebird日本ユーザ会のはやしさん、そしてMyNAから拝借(?) してきた坂井さんとともに書きました。まだ誰も知らないFirebird 2.5や、いままでドキュメントのなかったツール類についてもソースを確認してとりあげた本です。是非ご活用ください。
    + SELECTED ENTRIES
    + RECENT COMMENTS
    • たまたま「プリントヘッドの種類が違います」エラーから復活@MG6230
      meijik (11/20)
    • [ミュージシャンに聴かせたい・弾かせたい!] (4) 山田元気様
      meijik (07/27)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      meijik (03/03)
    • 2019年の木村明治
      田中尚 (01/08)
    • 使い慣れたSQLに潜む実装依存: Firebirdの場合(6) 文字列との結合演算子
      noname (12/10)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      Moriaki_ (01/05)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      Moriaki_ (01/05)
    • 2015年版 InterBaseの歩み
      nakagami (12/06)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      meijik (11/22)
    • 分散DB本読書会第46回メモ「STOP AFTER 10」
      masudahidehiko (09/01)
    + RECENT TRACKBACK
    + CATEGORIES
    + ARCHIVES
    + MOBILE
    qrcode
    + LINKS
    + PROFILE