---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideQueryCondition - スコープ指定

# GlideQueryCondition - スコープ指定 {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：5分

スコープ付き GlideQueryCondition API には、現在の条件に追加できる追加の `AND` 条件または `OR` 条件が用意されており、複雑なクエリーをビルドできます。  
次のような複雑なクエリを構築します。

    category='hardware' OR category='software' AND priority='2' AND priority='1'

addCondition() の場合、暗黙の `AND` が追加されます。  
このクラスにコンストラクターはありません。GlideQueryCondition オブジェクトは次のメソッドによって返されます。

* addActiveQuery()
* addInactiveQuery()
* addJoinQuery()
* addNotNullQuery()
* addNullQuery()
* addQuery()
{#c_GlideQueryConditionScopedAPI__ul_xyz_nsg_qz}

`AND` および `OR` クエリの複雑なセットがある場合、すべての条件を含む単一のエンコードクエリを使用すると、クエリの作成が簡素化されます。クエリの作成を簡素化するには、リストビューでクエリを作成し、右クリックして \[クエリのコピー\] を選択します。結果セットを返す単一のエンコードされたクエリ文字列を作成します。その文字列を addEncodedQuery() 呼び出しのパラメーターとして使用します。

クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。正しく構成されていないエンコードクエリ (無効なフィールド名を含むなど) は無効なクエリを生成します。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいて生成されます。これにより、テーブルからすべてのレコードが返される可能性があります。正しくないクエリで insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムのプロパティを true に設定すると、無効なエンコードクエリを含むクエリはレコードを返さなくなります。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリが API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US)」を参照してください。

## GlideQueryCondition - addCondition(文字列 name, 文字列 oper, オブジェクト value) {#ariaid-title2}

現在の条件に AND 条件を追加します。
{#r_ScopedGlideQueryConditionAddCondition__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | フィールドの名前。 |
| oper | 文字列 | オプション。クエリの演算子。演算子を指定しない場合、条件は equals 演算子を使用します。 |
| value | オブジェクト | クエリーを適用する値です。 |
[表 : 1. パラメーター]

{#r_ScopedGlideQueryConditionAddCondition__table_vy2_525_jq}  
{#r_ScopedGlideQueryConditionAddCondition__table_mxx_f5b_2r__entry__2}

| タイプ | 説明 |
|-|-|
| GlideQueryCondition | Glide レコードに追加された GlideQueryConditon への参照。 |
[表 : 2. 返される内容]

{#r_ScopedGlideQueryConditionAddCondition__table_mxx_f5b_2r}  

    var now_GR = new GlideRecord('incident');
    var qc = now_GR.addQuery('category', 'Hardware');
    qc.addCondition('category', 'Network');
    now_GR.addQuery('number','INC0000003');
    now_GR.next();
    now_GR.number;
    gs.info(now_GR.getEncodedQuery());

## GlideQueryCondition - addOrCondition(文字列 name, 文字列 oper, オブジェクト value) {#ariaid-title3}

2 つまたは 3 つのパラメーターの OR 条件を既存の GlideQueryCondition に追加します。
addOrCondition() は、以前に addQuery() を使用して構築されたクエリへの指定されたクエリパラメーター `OR` に対し、任意の [addQuery()](https://servicenow-prod.fluidtopics.net/DKnkjnu3r0c8j~e5s2NNhg#r_ScopedGlideRecordAddQuery_String_String_Object "要求を作成する機能を提供します。要求は実行されると、要求に一致する指定されたテーブルから行を返します。") メソッドと連携して動作します。

addOrCondition() は通常、3 つのパラメーター (テーブルフィールド、演算子、および比較値) を指定して呼び出されます。`qc.addOrCondition('category', 'software');` など、テーブルフィールドと比較値の 2 つのパラメーターのみを使用して呼び出すことができます。この場合の演算子は「次の値に等しい」とみなされます。  
{#r_ScopedGlideQueryConditionAddOrCondition__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | フィールド名 |
| oper | 文字列 | (オプション) クエリ演算子。使用可能な値は、<var class="keyword varname">value</var> パラメーターのデータタイプによって異なります。 数値： * = * != * \> * \>= * \< * \<= {#r_ScopedGlideQueryConditionAddOrCondition__ul_qyb_rbt_3y} 文字列 (大文字である必要があります)： * = * != * IN * STARTSWITH * ENDSWITH * CONTAINS * DOESNOTCONTAIN {#r_ScopedGlideQueryConditionAddOrCondition__ul_egz_vbt_3y} |
| value | オブジェクト | クエリ対象の値 (大文字と小文字は区別されません)。 注: 渡されるすべてのアレイには、少なくとも 2 つの要素が含まれている必要があります。単一要素のアレイはサポートされていません。 |
[表 : 3. パラメーター]

{#r_ScopedGlideQueryConditionAddOrCondition__table_vy2_525_jq}  
{#r_ScopedGlideQueryConditionAddOrCondition__table_w2h_w2c_2r__entry__2}

| タイプ | 説明 |
|-|-|
| GlideQueryCondition | GlideRecord に追加された GlideQueryConditon への参照。 |
[表 : 4. 返される内容]

{#r_ScopedGlideQueryConditionAddOrCondition__table_w2h_w2c_2r}  

    var now_GR = new GlideRecord('incident');
    var qc = now_GR.addQuery('category', 'Hardware');
    qc.addOrCondition('category', 'Network');
    now_GR.addQuery('number','INC0000003');
    now_GR.next();
    now_GR.number;
    gs.info(now_GR.getEncodedQuery());

AND/OR ステートメントをグループ化して複雑なクエリ「(3 未満 OR 5 を超える state) AND (priority が 1 OR priority が 5) のすべてのインシデント」などを作成します。

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addQuery('state', '<', 3);
    q1.addOrCondition('state', '>', 5);
    var q2 = myObj.addQuery('priority', 1);
    q2.addOrCondition('priority', 5);
    myObj.query();


