記事
· 2024年8月4日 1m read

1840年12月31日 00:00:00よりも前の日付時刻をサポートする方法

これは、InterSystems FAQサイトの記事です。

既定では、InterSystems製品で表すことのできる日時の最小値は、1840年12月31日 0時0分0秒 です。

USER>write $ZDATETIME("0,0")
12/31/1840 00:00:00

 ですが、アプリ内での用途や、他DBからの登録などで、それよりも前の日付時刻を登録する必要がある場合があります。
その場合には、日付日時のプロパティに、MINVAL(最小値)を設定することでサポートできます。
下記は、%DateTime型、%TeimaStamp型のプロパティに、最小値:西暦1年1月1日0時0分0秒と設定したものです。

Property TestDateTime As %DateTime(MINVAL = "0001-01-01 00:00:00");
Property TestTimeStamp As %TimeStamp(MINVAL = "0001-01-01 00:00:00");

※2023.3および2024.1以降のバージョンでは、%DateTime型のMINVALの設定は必要なく、1840年12月31日 0時0分0秒より前の日時でも問題なく登録できます。%TimeStamp型の場合は、引き続き設定が必要です。

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください