PC/NETのetcetra/2004-09-14

Last-modified: 2005-09-17 (土) 19:51:44 (6794d)
※※このサイトは2012年頃より更新を停止しています。※※

SQL

  • 日付データ型
    postgreSQLには下記4種の日付データ型がある。
    DATE(年月日) TIME(時分秒) TIMESTAMP(年月日時分秒) INTERVAL(時間差)
    ※TIMESTAMPってのはUNIXTIMESTAMPと違うので注意。
    ※間抜けな話だけど、俺は同じに考えてた。

    TIMESTAMP型は、
    postgreSQLとMySQLで微妙に挙動が違うところがあるようだ。
    postgreSQLは「default now」にしておけばinsert時に今の時間を値に入れてくれる。
    updateの時に勝手に書き換わったりはしない。

    しかしMySQLで
    「default now」と定義すると、文字列として「now」が値に入れられるとか(笑)
    また、MySQLで「TIMESTAMP not null」と定義すると、insert、updateの両方の場面で勝手に書き換わる。「TIMESTAMP」と定義すると、nullも受け付ける。

    この辺の挙動は自分で試して整理しておいたほうがよさそう。

コメントはありません。 コメント/PC/NETのetcetra/2004-09-14

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS