記事
Megumi Kakechi · 2021年10月28日 2m read

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>>


詳細は下記ドキュメントページをご参照ください。
CURRENT_TIMESTAMP

00
0 0 0 16
Log in or sign up to continue