診断ルール式を変更できます。sql_diagnoserの診断ルール式構文は以下のとおりです。
データ型
| タイプ | 説明 |
|---|---|
| 数値型 | 例:1、1.1、-2.3。 |
| 文字列 | 例:'a'、"abc"。 |
| ブール値 | 例:true、false。大文字と小文字は区別されません。 |
| コンテキスト変数 | クラスのプロパティであり、コンテキストからオブジェクトのプロパティを取得するために使用されます。プロパティの前には $ を付ける必要があります。例えば、応答時間を取得する場合は: $elapsedTime。 大文字と小文字は区別されます。 |
オブジェクト演算
| タイプ | 説明 |
|---|---|
| プロパティアクセス | オブジェクトのプロパティにアクセスします。例えば、$a.b はコンテキスト内のaのbプロパティにアクセスします。 |
| メソッドアクセス | オブジェクトのメソッドにアクセスします。プロパティアクセスと組み合わせて使用できます。例:$a.f1() はコンテキスト内のaのf1メソッドにアクセスします。現在はまだ使用されていませんが、用法のみを示しています。 |
集約演算
| タイプ | 説明 |
|---|---|
| COUNT、AVG、STD、VAR、MIN、MAX、SUM、DISTINCT | SQLと一致し、集合に対して演算を行います。 |
| 集合投影 | 集合内の各要素のプロパティを取得し、新しい集合を構成します。これはSQLの投影列に似ています。例:$tableList.tableName。$tableListが集合である場合、各要素のtableNameプロパティを取り出して、一つの集合を形成します。大文字と小文字は区別されません。 |
関係演算
| タイプ | 説明 |
|---|---|
| !=/<> 、=/== 、<= 、< 、>=、 > | SQLと一致します。 |
| IN | SQLのINと同じで、要素が特定の集合に存在するかどうかを判断します。 大文字と小文字は区別されません。 |
ブール演算
| タイプ | 説明 |
|---|---|
| AND、OR、NOT | SQLと一致します。大文字と小文字は区別されません。 |
その他の演算
| タイプ | 説明 |
|---|---|
| ISNULL、NOTNULL、NOTEMPTY、ISEMPTY | ISNULL、NOTNULLはオブジェクトが存在するかどうかを判断します。NOTEMPTY、ISEMPTYは集合が空かどうかを判断します。 大文字と小文字は区別されません。 |