查找

ダイジェスト
· 2024年8月5日
ダイジェスト
· 2024年8月4日

InterSystems 开发者社区中文版:每周摘要(2024年7月29日-8月4日)

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

管理ポータルのグローバル表示で、サブスクリプトレベルの範囲を指定して表示する

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

管理ポータルのグローバル変数表示ページでは、サブスクリプトレベルの範囲を指定して表示することが可能です。

各サブスクリプトレベルで、 <開始値>:<終了値> のように指定します。
開始値を省略すると先頭から終了値まで、終了値を省略すると指定値から最後までのグローバル変数を表示します。

《例》

(グローバル全体)

 

(第2サブスクリプトが"b"のデータだけを表示)
 

 

(第3サブスクリプトが300以上のデータを表示)
 

 

(第3サブスクリプトが50以下のデータを表示)
   

 

下記ドキュメントページも併せてご確認ください。
【ドキュメント】グローバル・データの表示
 

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
記事
· 2024年8月4日 1m read

IRIS SQLで、二重引用符「"」を、リテラル値を示す区切り文字として使う方法=区切り識別子を無効にする

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

区切り識別子は、区切り文字で囲まれた一意の識別子です。
InterSystems SQL は、その区切り文字として二重引用符 「"」 をサポートしています。
一方、リテラル値を区切る場合は、一重引用符「'」を使用します。
例えば、下記のSQLにおいて、
①は、Nameの値が「AAA」という文字列である、という検索条件と解釈されますが、
②は、Name列 = AAA列、という結合条件と解釈されます。※実際にAAA列が無ければエラーとなります。

select * from Samle.Person
where Name = 'AAA'


select * from Sample.Person
where Name = "AAA"


リテラル値(文字列、数値)を示す区切り文字として二重引用符「"」を使用したい場合は、
下記を実行し、この区切り識別子サポートするためのオプションを無効にします。

//現在の状態を確認する
USER> write $SYSTEM.SQL.Util.GetOption("DelimitedIdentifiers")
1
//0=「無効」にセット
USER>do $SYSTEM.SQL.Util.SetOption("DelimitedIdentifiers",0)
 
//確認
USER> write $SYSTEM.SQL.Util.GetOption("DelimitedIdentifiers")
0 

 
これにより、「'AAA'」と「"AAA"」はどちらも同様に「AAA」という文字列を示すことになり、
上記①・②のSQLは、どちらも、同義に解釈されます。

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
記事
· 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
続けるにはログインするか新規登録を行ってください