TIMESTAMP型のフォーマットについて
これは InterSystems FAQ サイトの記事です。
TIMESTAMP型はInterSystems製品では、%Library.TimeStampデータタイプ(=%TimeStamp)に対応していて、フォーマットは YYYY-MM-DD HH:MM:SS.nnnnnnnnn です。
小数点以下の精度を変更したい場合は、以下の方法で設定します。
1) システムワイドに設定する
管理ポータル:[システム管理] > [構成] > [SQLとオブジェクトの設定] > [一般SQL設定]
GETDATE(), CURRENT_TIME, CURRENT_TIMESTAMP のデフォルト時刻精度 に 0~9 の範囲で桁数を指定できます。
設定内容の詳細については、下記のドキュメントページをご参照ください。
追加構成設定~ - 一般SQL設定 - SQL タブ
2) SQLの関数で指定する
CURRENT_TIMESTAMP()の引数を利用して、小数点以下の精度を 0~9 の範囲で桁数を指定できます。
※CURRENT_TIMESTAMP()で返される値は、実行環境のタイムゾーンの現在の日付時刻を返します。
USER>do $SYSTEM.SQL.Shell()
SQL Command Line Shell
----------------------------------------------------
The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
[SQL]USER>> << entering multiline statement mode, 'GO' to execute >>
1>>SELECT
2>> CURRENT_TIMESTAMP AS FullSecStamp,
3>> CURRENT_TIMESTAMP(2) AS FracSecStamp,
4>> $HOROLOG AS InternalFullSec
5>>go
1. SELECT
CURRENT_TIMESTAMP AS FullSecStamp,
CURRENT_TIMESTAMP(2) AS FracSecStamp,
$HOROLOG AS InternalFullSec
FullSecStamp FracSecStamp InternalFullSec
2021-10-12 15:46:18 2021-10-12 15:46:18.83 66029,56778
1 Rows(s) Affected
statement prepare time(s)/globals/cmds/disk: 0.1017s/1046/177936/15ms
execute time(s)/globals/cmds/disk: 0.0002s/0/651/0ms
cached query class: %sqlcq.USER.cls7
---------------------------------------------------------------------------
[SQL]USER>>
SQL Command Line Shell
----------------------------------------------------
The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
[SQL]USER>> << entering multiline statement mode, 'GO' to execute >>
1>>SELECT
2>> CURRENT_TIMESTAMP AS FullSecStamp,
3>> CURRENT_TIMESTAMP(2) AS FracSecStamp,
4>> $HOROLOG AS InternalFullSec
5>>go
1. SELECT
CURRENT_TIMESTAMP AS FullSecStamp,
CURRENT_TIMESTAMP(2) AS FracSecStamp,
$HOROLOG AS InternalFullSec
FullSecStamp FracSecStamp InternalFullSec
2021-10-12 15:46:18 2021-10-12 15:46:18.83 66029,56778
1 Rows(s) Affected
statement prepare time(s)/globals/cmds/disk: 0.1017s/1046/177936/15ms
execute time(s)/globals/cmds/disk: 0.0002s/0/651/0ms
cached query class: %sqlcq.USER.cls7
---------------------------------------------------------------------------
[SQL]USER>>
詳細は下記ドキュメントページをご参照ください。
CURRENT_TIMESTAMP