DataGripでSQLiteを扱う際に関するいくつかのこと


DataGrip便利ですよね。
で、SQLiteを扱う際、ちょっと一筋縄でいかない部分があったのでいくらかまとめてみまた。

Date and timeの表現方法を変更する。

SQLiteには日付型が無い
なので、どのように格納されているのか指定する必要がある。

指定方法は、
下図の"Data Source and properties"をクリックすると、ダイアログが出てくるので、その"Advanced"タブの中に

  1. date_precision
  2. date_class
  3. date_string_format

が有り、この辺で適宜指定する。

一番重要なのが、"date_class"で、INTEGERTEXTREALを指定できる。

INTEGERを指定したとき

これは、UnixTimeで格納したと評価される。
この指定の場合、先の"data_precision"で秒か㍉セコンドかの解像度を指定可能となる。

TEXTの場合

文字通り、TEXTで格納されると評価される。
フォーマットは下にある"date_string_format"で指定する。

REALの場合

これは、Julian day numbersとして評価される。

DataViewerの書式

例えば、下記のようなテーブルをこさえたとする。


CREATE TABLE DateSample(
  Id INT NOT NULL PRIMARY KEY ,
  DateTime DATETIME,
  TimeStamp TIMESTAMP
)

このとき、DataViewrは以下のようになる。

DATETIME指定すると、日付だけ。
TIMESTAMP指定すると、日付と時刻
というかたちで、表現域が変わってくるのでその点注意。

ただ、これがフォーマットを別指定可能なのか、変更不可なのかは現状わからなかった。

まとめ

SQLiteは日付型がないので、その辺の調整する必要が出てくるので、
他のRDBMSとは一風変わった設定があって、そこで引っかかったので、まとめてみました。