DBにおいて日付、特に時刻のデータを扱ったり、取得する場合、大抵はミリ秒やマイクロ秒まで取得できるのが一般的ですが、MySQLでは、最近までそれができませんでした。
しかし、バージョンが5.6.4になってから、ようやくMySQLでもミリ秒やマイクロ秒を扱えるようになりました。
・時刻のデータをミリ秒やマイクロ秒まで扱えるようにする
まず、MySQLで時刻のデータを扱うことができるデータ型は以下のとおりです。
DATATIME
TIMESTAMP
TIME
テーブル作成時などにこれらの型のデータを定義する場合に、以下のようにすることで、ミリ秒やマイクロ秒を扱えるようになります。
DATETIME(3)
TIMESTAMP(6)
TIME(2)
上記の例では、
DATETIME型…1ミリ秒まで扱える
TIMESTAMP型…1マイクロ秒まで扱える
TIME型…10ミリ秒まで扱える
という感じになります。
()に入る引数は、1~6の数値のみ許容されており、それは、つまり時刻の小数点以下最大6桁まで許容となるので、1マイクロ秒まで扱えるということになるのです。当然ながら、1~6の数値以外を入れると、エラーになります。
・現在時刻をミリ秒やマイクロ秒まで取得する
MySQLで現在時刻を取得するのは、now()関数です。
これも同様に、1~6の数値を引数にすることで、その桁数分の小数点以下の桁を取得できるようになります。
now(3);
以上、参考になるかわからない情報でした。。
0 件のコメント:
コメントを投稿