Caché SQL で使用する記号
記号のテーブル
以下は、Caché SQL で使用されるリテラル記号です (このリストには、言語の一部ではない形式規約を示す記号は含まれていません)。別途、"ObjectScript で使用する記号" のテーブルも用意されています。
各記号の名前の後には、ASCII 10 進数コード値が続きます。
記号 | 名前と使用法 |
---|---|
[空白]、または [タブ] | 空白 (タブ (9) またはスペース (32)) : キーワード、識別子、および変数の間の 1 つ以上の空白文字。 |
! | 感嘆符 (33) : 条件式の中の述語間の OR 論理演算子。WHERE 節や HAVING 節などで使用します。 |
!= | 感嘆符/等号 : 比較条件に等しくない。 |
" |
引用符 (34) : 区切り文字付き識別子名を囲みます。 文字列リテラルを囲みます (推奨されません。代わりに一重引用符を使用します)。 ダイナミック SQL では、クラス・メソッド引数のリテラル値を囲むために使用されます (%Prepare() メソッドの文字列引数としての SQL コードや %Execute() メソッドの文字列引数としての入力パラメータなど)。 %PATTERN では、パターン文字列内でリテラル値を囲むために使用されます。例 : '3L1"L".L' (3 つの小文字の後に 1 つの大文字の “L” が続き、その後に任意数の小文字が続くことを示します)。 XMLELEMENT では、タグ名の文字列リテラルを囲むために使用されます。 |
"" | 二重引用符 : リテラルが区切り文字付き識別子内の文字を囲みます。 |
# |
シャープ記号 (35) : 有効な識別子名の文字 (最初の文字ではありません)。 前後にスペースを持つモジュロ算術演算子です。 埋め込み SQL では、ObjectScript のマクロ・プリプロセッサ指示文の接頭語です。例 : #Include。 |
$ |
ドル記号 (36) : 有効な識別子名の文字 (最初の文字ではありません)。 Caché 拡張の SQL 関数の最初の文字です。 |
$$ | 二重ドル記号 : ObjectScript ユーザ定義関数 (外部関数とも呼ばれます) を呼び出すのに使用します。 |
% |
パーセント記号 (37) : 識別子名の最初の有効な文字 (最初の文字のみ)。 文字列照合関数 (%SQLUPPER)、集約関数 (%DLIST)、述語条件 (%STARTSWITH) を含む、SQL 標準に対する一部の Caché SQL 拡張の最初の文字。 SELECT 内のキーワード %ID、%TABLENAME、および %CLASSNAME の最初の文字。 一部の特権キーワード (%CREATE_TABLE、%ALTER) および一部のロール名 (%All) の最初の文字。 一部の埋め込み SQL システム変数 (%ROWCOUNT、%msg) の最初の文字。 データ型の最大長インジケータ。(例) CHAR(%24) LIKE 条件述語の複数文字ワイルドカード。 |
%% |
二重パーセント記号 : 擬似フィールド参照変数キーワードの接頭語。(例) %%CLASSNAME、%%CLASSNAMEQ、%%ID、%%TABLENAME。ObjectScript の計算フィールド・コードおよびトリガ・コードで使用されます。 |
& |
アンパサンド (38) : WHERE 節およびその他の条件式の AND 論理演算子。 $BITLOGIC ビット文字列 And 演算子。 埋め込み SQL シェル呼び出し接頭語。(例) &sql(SQL commands |
' | 一重引用符 (39) : 文字列リテラルを囲みます。 |
'' |
二重の一重引用符 : 空の文字列リテラルを囲みます。 文字列値内のリテラル一重引用符。(例) 'can''t' |
( ) |
括弧 (40,41) : コンマで区切られたリストを囲みます。SQL 関数の引数を囲みます。プロシージャ、メソッド、またはクエリでのパラメータ・リストを囲みます。多くの場合、引数またはパラメータが提供されない場合でも、括弧を指定する必要があります。 SELECT DISTINCT BY 節で、一意の値を選択するために使用される項目または項目のコンマ区切りのリストを囲みます。 SELECT 文で、FROM 節内のサブクエリを囲みます。UNION で使用される事前定義済みクエリの名前を囲みます。 ホスト変数配列添え字を囲みます。例えば INTO :var(1),:var(2) です。 embedded SQL コードを囲みます。(例) &sql( code ) 算術演算で優先順位を指定するために使用されます。(例) 3+(3*5)=18。述語をグループ化するために使用されます。(例) WHERE NOT (Age<20 AND Age>12)。 |
(( )) | 二重の括弧 : クエリ・キャッシュでリテラル置換を抑制します。例えば、SELECT TOP ((4)) Name FROM Sample.Person WHERE Name %STARTSWITH (('A')) のようになります。NULL 以外の異常値の WHERE 節による選択を最適化します。 |
* |
アスタリスク (42) : 以下の場合で、“すべて” を示すワイルドカード。SELECT では、すべての列を検索します。(例) SELECT * FROM テーブル。COUNT で、すべての行 (NULL と重複を含む) をカウントします。GRANT および REVOKE で、すべての特権、すべてのテーブル、または現在定義されているすべてのユーザ。 %MATCHES パターン文字列で、複数文字ワイルドカード。 乗算算術演算子。 |
*/ | アスタリスク・スラッシュ : 複数行コメントの末端文字。コメントは、/* で開始します。 |
*= | アスタリスク、等号 : WHERE 節では、左外部結合。 |
+ | プラス記号 (43) : 加算算術演算子。単項正符号演算子 |
, |
コンマ (44) : リストの区切り記号。例えば、複数のフィールド名を区切る場合に使用します。 データ・サイズ定義内にあります。(例) NUMERIC (precision,scale) |
– |
ハイフン (マイナス記号) (45) : 減算算術演算子。単項負符号演算子 SQLCODE エラー・コード接頭語です。(例) -304 日付区切り文字です。 %MATCHES パターン文字列で、各括弧内で指定されるレンジ・インジケータ。例えば、[a-m] のように指定します。 |
–– | 二重ハイフン : 単一の行のコメント文字。 |
–> | ハイフン、より大きい (矢印) : 暗黙結合矢印構文。 |
. |
ピリオド (46) : 修飾されているテーブル名の schema.tablename や列名の tablename.fieldname など、マルチパート名の各部分を区切るために使用されます。 アメリカの数値形式では、数値リテラルの小数点です。 ロシア、ウクライナ、およびチェコのロケールでは、日付区切り文字です。DD.MM.YYYY のように使用されます。 参照渡しを指定する変数または配列名の接頭語。(例) .name %PATTERN パターン文字列の複数文字ワイルドカード。 |
/ |
スラッシュ (47) : 除算算術演算子。 日付区切り文字です。 |
/* | スラッシュ・アスタリスク : 複数行コメントの開始文字。コメントは、*/ で終了します。 |
: |
コロン (58) : ホスト変数の指示接頭語。(例) :var 時、分、秒の時間区切り文字です。 CAST 関数と CONVERT 関数では、オプションの 1000 分の 1 秒の区切り文字です。 トリガ・コードでは、ObjectScript ラベル行を示す接頭語です。 CREATE PROCEDURE ObjectScript コード本文では、マクロ・プロプロセッサ指示文の接頭語です。例 : :#Include。 |
:: | 二重コロン : トリガ・コードでは、この二重接頭語は、その行の最初にある識別子 (::name) がラベル行ではなくホスト変数であることを示します。 |
; | セミコロン (59): プロシージャ、メソッド、クエリ、およびトリガ・コード内の SQL 文末区切り文字。DDLImport() では、オプションの文末区切り文字として許容されます。それ以外の場合、Caché SQL は SQL 文の最後にセミコロンを使用せず、許容もしません。 |
< | より小さい (60) : 比較条件より小さい。 |
<= | 以下 : 比較条件以下。 |
<> | より小さい/より大きい : 比較条件に等しくない。 |
= |
等号 (61) : 比較条件に等しい。 WHERE 節では、内部結合です。 |
=* | 等号、アスタリスク : WHERE 節では、左外部結合。 |
> | より大きい (62) : 比較条件より大きい。 |
>= | 以上 : 比較条件以上。 |
? |
疑問符 (63) : ダイナミック SQL 内で Execute メソッドによって入力される入力パラメータ変数。 %MATCHES パターン文字列で、単一文字ワイルドカード。 |
@ | アット記号 (64) : 有効な識別子名の文字 (最初の文字ではありません)。 |
E, e |
文字 “E” (69, 101) : 指数文字。 任意の表示可能文字を指定する %PATTERN のコード。 |
[ | 角括弧 (開始) (91) : Contains 述語。WHERE 節や HAVING 節などで使用します。 |
[ ] | 開および閉角括弧 : %MATCHES パターン文字列で、マッチング文字列のリストまたは範囲を囲みます。例 : [abc]、[a-m]。 |
\ |
バックスラッシュ (92) : 整数除算算術演算子。 %MATCHES パターン文字列で、エスケープ文字。 |
] | 角括弧 (終了) (93) : Follows 述語。WHERE 節や HAVING 節などで使用します。 |
^ | キャレット (94) : %MATCHES パターン文字列で、NOT の文字。例 : [^abc]。 |
_ |
アンダースコア (95) : 有効な識別子名の最初 (またはそれ以降) の文字。特定のユーザ名 (パスワードではなく) の有効な最初の文字です。 マルチパートの列名で使用され、埋め込みシリアル・クラス・データを表します。例えば、SELECT Home_State のようになります。ここで、Home はシリアル・コンテナ・フィールドです。 LIKE 条件の述語の単一文字ワイルドカード。 |
{ } |
中括弧 (123,125) : ODBC スカラ関数を囲みます。(例) {fn name(...)}。時刻/日付文の関数を囲みます。(例) {d 'string'}、{t 'string'}、{ts 'string'} |
|| |
二重の垂直バー (124) : 連結演算子。 複合 ID インジケータ。Caché で、生成された複合オブジェクト ID (連結 ID) 内にある複数のプロパティ間の区切り文字として使用されます。これは、複数のプロパティに対して定義された IDKey インデックス (prop1||prop2)、または親子リレーションシップの ID (parent||child) になります。IDKEY フィールドのデータには使用できません。 |