GlideQueryCondition – Umfang

  • Freigeben Version: Australia
  • Aktualisiert 12. März 2026
  • 11 Minuten Lesedauer
  • Diese API stellt bereit UND Oder ODER Bedingungen, die der aktuellen Bedingung hinzugefügt werden können, sodass Sie komplexe Abfragen erstellen können.

    Sie können diese API verwenden, um komplexe Abfragen zu erstellen, z. B. die folgenden:
    category='hardware' OR category='software' AND priority='2' AND priority='1'

    Im Fall von AddCondition() , Implizit UND Wird hinzugefügt.

    Diese Klasse hat keinen Konstruktor. A GlideQueryCondition Objekt wird von den folgenden Methoden zurückgegeben:
    • AddActiveQuery()
    • AddInactiveQuery()
    • AddJoinQuery()
    • AddNotNullQuery()
    • AddNullQuery()
    • AddQuery()

    Wenn ein komplizierter Satz von vorhanden ist UND Und ODER Abfragen, eine einzelne codierte Abfrage, die alle Bedingungen enthält, vereinfacht die Abfrageerstellung. Um die Abfrageerstellung zu vereinfachen, erstellen Sie eine Abfrage in einer Listenansicht, klicken Sie mit der rechten Maustaste auf die Abfrage, und wählen Sie aus Abfrage kopieren . Erstellt eine einzelne codierte Abfragezeichenfolge, um Ihren Ergebnissatz zurückzugeben. Verwenden Sie diese Zeichenfolge als Parameter in AddEncodedQuery() Rufen Sie an.

    Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.

    Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.

    GlideQueryCondition – addCondition (Zeichenfolgenname, Zeichenfolgenoperator, Objektwert)

    Fügt der aktuellen Bedingung eine UND-Bedingung hinzu.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Feldname
    betrieb Zeichenfolge (Optional) Abfrageoperator. Die verfügbaren Werte hängen vom Datentyp von ab Wert Parameter.

    Wenn Sie keinen Operator angeben, verwendet die Bedingung einen gleich-Operator.

    Nummern:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Zeichenfolgen (muss in Großbuchstaben angegeben werden):
    • =
    • !=
    • IN
    • BEGINNT MIT
    • ENDSWITH
    • ENTHÄLT
    • DOESNOTCONTAIN
    Wert Objekt Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet).
    Hinweis:
    Alle übergebenen Arrays müssen mindestens zwei Elemente enthalten. Einzelne Element-Arrays werden nicht unterstützt.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Ein Verweis auf ein GlideQueryBedingung Das wurde zu hinzugefügt GlideRecord .

    Das folgende Beispiel zeigt, wie einer Abfrage eine UND-Bedingung hinzugefügt wird.

    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());

    Ausgabe:

    category=Hardware^ORcategory=Network^number=INC0000003

    GlideQueryCondition – addOrCondition (Zeichenfolgenname, Zeichenfolgenoperator, Objektwert)

    Hängt einen zwei- oder drei-Parameter ODER eine Bedingung an eine vorhandene GlideQueryCondition an.

    Diese Methode funktioniert in Verbindung mit GlideRecord addQuery() Bis ODER Die angegebenen Abfrageparameter für die zuvor mit erstellte Abfrage AddQuery() .

    Die AddOrCondition() Kann nur mit zwei Parametern aufgerufen werden, Tabellenfeld und Vergleichswert, z. B. qc.addOrCondition('category', 'Software'); . Der Operator in diesem Fall wird als „gleich“ angenommen.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Feldname
    betrieb Zeichenfolge (Optional) Abfrageoperator. Die verfügbaren Werte hängen vom Datentyp von ab Wert Parameter.

    Wenn Sie keinen Operator angeben, verwendet die Bedingung einen gleich-Operator.

    Nummern:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Zeichenfolgen (muss in Großbuchstaben angegeben werden):
    • =
    • !=
    • IN
    • BEGINNT MIT
    • ENDSWITH
    • ENTHÄLT
    • DOESNOTCONTAIN
    Wert Objekt Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet).
    Hinweis:
    Alle übergebenen Arrays müssen mindestens zwei Elemente enthalten. Einzelne Element-Arrays werden nicht unterstützt.
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Ein Verweis auf ein GlideQueryBedingung Das wurde zu hinzugefügt GlideRecord .

    Das folgende Beispiel zeigt, wie einer Abfrage eine ODER-Bedingung hinzugefügt wird.

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

    Ausgabe:

    category=Hardware^ORcategory=Network^number=INC0000004

    Zum Gruppieren UND/ODER von Anweisungen zum Erstellen komplexer Abfragen, z. B. zum Abrufen von 10 Incidents mit einem (Status kleiner als 3 ODER größer als 5) UND (Priorität ist 1 ODER Priorität 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.setLimit(10);
    myObj.query();
    
    while (myObj.next()) {
      gs.info('Incident: ' + myObj.getValue('number') + ' State: ' + myObj.getValue('state') + ' Priority: ' + myObj.getValue('priority'));
    }

    Ausgabe:

    Incident: INC0000001 State: 7 Priority: 1
    Incident: INC0000004 State: 7 Priority: 1
    Incident: INC0000012 State: 7 Priority: 5
    Incident: INC0000013 State: 7 Priority: 1
    Incident: INC0000024 State: 7 Priority: 5
    Incident: INC0000028 State: 7 Priority: 5
    Incident: INC0000031 State: 2 Priority: 1
    Incident: INC0000057 State: 7 Priority: 5
    Incident: INC0000057 State: 2 Priority: 5
    Incident: INC0000058 State: 7 Priority: 5

    GlideQueryCondition – addSystemCondition (Zeichenfolgenname, Zeichenfolgenoperator, Objektwert)

    Fügt der aktuellen Bedingung eine UND-Bedingung hinzu. Verwenden Sie diese Methode, um den Abfragezugriff zu umgehen.

    Verwenden Sie diese Methode, wenn Zugriff auf Systemebene beabsichtigt ist, damit die Durchsetzung der Abfrage-ACL für den Anwender explizit umgangen wird. Verwenden AddUserCondition() Dient zum Erzwingen des Abfragezugriffs.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Feldname
    betrieb Zeichenfolge (Optional) Abfrageoperator. Die verfügbaren Werte hängen vom Datentyp von ab Wert Parameter.

    Wenn Sie keinen Operator angeben, verwendet die Bedingung einen gleich-Operator.

    Nummern:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Zeichenfolgen (muss in Großbuchstaben angegeben werden):
    • =
    • !=
    • IN
    • BEGINNT MIT
    • ENDSWITH
    • ENTHÄLT
    • DOESNOTCONTAIN
    Wert Objekt Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet).
    Hinweis:
    Alle übergebenen Arrays müssen mindestens zwei Elemente enthalten. Einzelne Element-Arrays werden nicht unterstützt.
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Ein Verweis auf ein GlideQueryBedingung Das wurde zu hinzugefügt GlideRecord .

    Zum Gruppieren VON UND Anweisungen zum Erstellen komplexer Abfragen, z. B. zum Abrufen von 20 Incidents mit einem (Status kleiner als 3 UND nicht 2) und (Priorität ist größer als 1 UND Priorität nicht 5).

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addSystemQuery('state', '<', 3);
    q1.addSystemCondition('state', '!=', 2);
    var q2 = myObj.addSystemQuery('priority', '>', 1);
    q2.addSystemCondition('priority', '!=', 5);
    myObj.setLimit(20);
    myObj.query();
    
    while (myObj.next()) {
      gs.info('Incident: ' + myObj.getValue('number') + ' State: ' + myObj.getValue('state') + ' Priority: ' + myObj.getValue('priority'));
    }

    Ausgabe:

    Incident: INC0011238 State: 1 Priority: 4
    Incident: INC0010127 State: 1 Priority: 2
    Incident: INC0010143 State: 1 Priority: 2
    Incident: INC0011760 State: 1 Priority: 2
    Incident: INC0010708 State: 1 Priority: 3
    Incident: INC0013048 State: 1 Priority: 4
    Incident: INC0010658 State: 1 Priority: 2
    Incident: INC0012021 State: 1 Priority: 3
    Incident: INC0013308 State: 1 Priority: 4
    Incident: INC0010155 State: 1 Priority: 3
    Incident: INC0013312 State: 1 Priority: 4
    Incident: INC0013049 State: 1 Priority: 3
    Incident: INC0010068 State: 1 Priority: 4
    Incident: INC0010135 State: 1 Priority: 2
    Incident: INC0010132 State: 1 Priority: 4
    Incident: INC0010700 State: 1 Priority: 3
    Incident: INC0013311 State: 1 Priority: 2
    Incident: INC0011758 State: 1 Priority: 4
    Incident: INC0012278 State: 1 Priority: 3
    Incident: INC0013306 State: 1 Priority: 4

    GlideQueryCondition – addSystemOrCondition (Zeichenfolgenname, Zeichenfolgenoperator, Objektwert)

    Hängt einen zwei- oder drei-Parameter ODER eine Bedingung an eine vorhandene GlideQueryCondition an. Verwenden Sie diese Methode, um den Abfragezugriff zu umgehen.

    Verwenden Sie diese Methode, wenn Zugriff auf Systemebene beabsichtigt ist, damit die Durchsetzung der Abfrage-ACL für den Anwender explizit umgangen wird. Verwenden AddUserOrCondition Dient zum Erzwingen des Abfragezugriffs.

    Die AddSystemOrCondition() Die Methode funktioniert mit GlideRecord addSystemQuery() Methode bis ODER Die angegebenen Abfrageparameter für die zuvor mit erstellte Abfrage AddSystemQuery() .

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Feldname
    betrieb Zeichenfolge (Optional) Abfrageoperator. Die verfügbaren Werte hängen vom Datentyp von ab Wert Parameter.

    Wenn Sie keinen Operator angeben, verwendet die Bedingung einen gleich-Operator.

    Nummern:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Zeichenfolgen (muss in Großbuchstaben angegeben werden):
    • =
    • !=
    • IN
    • BEGINNT MIT
    • ENDSWITH
    • ENTHÄLT
    • DOESNOTCONTAIN
    Wert Objekt Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet).
    Hinweis:
    Alle übergebenen Arrays müssen mindestens zwei Elemente enthalten. Einzelne Element-Arrays werden nicht unterstützt.
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Ein Verweis auf ein GlideQueryBedingung Das wurde zu hinzugefügt GlideRecord .

    Zum Gruppieren UND/ODER von Anweisungen zum Erstellen komplexer Abfragen, z. B. zum Abrufen von 20 Incidents mit einem (Status kleiner als 3 ODER größer als 5) UND (Priorität ist 1 ODER Priorität 5).

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addSystemQuery('state', '<', 3);
    q1.addSystemOrCondition('state', '>', 5);
    var q2 = myObj.addSystemQuery('priority', 1);
    q2.addSystemOrCondition('priority', 5);
    myObj.setLimit(20);
    myObj.query();
    
    while (myObj.next()) {
      gs.info('Incident: ' + myObj.getValue('number') + ' State: ' + myObj.getValue('state') + ' Priority: ' + myObj.getValue('priority'));
    }

    Ausgabe:

    Incident: INC0000001 State: 7 Priority: 1
    Incident: INC0000004 State: 7 Priority: 1
    Incident: INC0000012 State: 7 Priority: 5
    Incident: INC0000013 State: 7 Priority: 1
    Incident: INC0000024 State: 7 Priority: 5
    Incident: INC0000028 State: 7 Priority: 5
    Incident: INC0000031 State: 2 Priority: 1
    Incident: INC0000057 State: 7 Priority: 5
    Incident: INC0000057 State: 2 Priority: 5
    Incident: INC0000058 State: 7 Priority: 5
    Incident: INC0000058 State: 2 Priority: 5
    Incident: INC0000059 State: 7 Priority: 5
    Incident: INC0000060 State: 7 Priority: 5
    Incident: INC0000061 State: 7 Priority: 5
    Incident: INC0000062 State: 7 Priority: 5
    Incident: INC0000064 State: 7 Priority: 5
    Incident: INC0000065 State: 7 Priority: 5
    Incident: INC0000066 State: 7 Priority: 5
    Incident: INC0000069 State: 7 Priority: 5
    Incident: INC0000072 State: 7 Priority: 5

    GlideQueryCondition – addUserCondition (Zeichenfolgenname, Zeichenfolgenoperator, Objektwert)

    Fügt der aktuellen Bedingung eine UND-Bedingung hinzu. Verwenden Sie diese Methode, um den Abfragezugriff basierend auf dem Anwender zu erzwingen.

    Diese Methode gibt nur Datensätze zurück, auf die der aktuelle Anwender Abfragezugriff hat (basierend auf ACLs).

    Zugehörige Methoden:
    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Feldname
    betrieb Zeichenfolge (Optional) Abfrageoperator. Die verfügbaren Werte hängen vom Datentyp von ab Wert Parameter.

    Wenn Sie keinen Operator angeben, verwendet die Bedingung einen gleich-Operator.

    Nummern:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Zeichenfolgen (muss in Großbuchstaben angegeben werden):
    • =
    • !=
    • IN
    • BEGINNT MIT
    • ENDSWITH
    • ENTHÄLT
    • DOESNOTCONTAIN
    Wert Objekt Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet).
    Hinweis:
    Alle übergebenen Arrays müssen mindestens zwei Elemente enthalten. Einzelne Element-Arrays werden nicht unterstützt.
    Tabelle : 10. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Ein Verweis auf ein GlideQueryBedingung Das wurde zu hinzugefügt GlideRecord .

    Zum Gruppieren VON UND Anweisungen zum Erstellen komplexer Abfragen, z. B. zum Abrufen von 20 Incidents mit einem (Status kleiner als 3 UND nicht 2) und (Priorität ist größer als 1 UND Priorität nicht 5).

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addUserQuery('state', '<', 3);
    q1.addUserCondition('state', '!=', 2);
    var q2 = myObj.addUserQuery('priority', '>', 1);
    q2.addUserCondition('priority', '!=', 5);
    myObj.setLimit(20);
    myObj.query();
    
    while (myObj.next()) {
      gs.info('Incident: ' + myObj.getValue('number') + ' State: ' + myObj.getValue('state') + ' Priority: ' + myObj.getValue('priority'));
    }

    Ausgabe:

    Incident: INC0011238 State: 1 Priority: 4
    Incident: INC0010127 State: 1 Priority: 2
    Incident: INC0010143 State: 1 Priority: 2
    Incident: INC0011760 State: 1 Priority: 2
    Incident: INC0010708 State: 1 Priority: 3
    Incident: INC0013048 State: 1 Priority: 4
    Incident: INC0010658 State: 1 Priority: 2
    Incident: INC0012021 State: 1 Priority: 3
    Incident: INC0013308 State: 1 Priority: 4
    Incident: INC0010155 State: 1 Priority: 3
    Incident: INC0013312 State: 1 Priority: 4
    Incident: INC0013049 State: 1 Priority: 3
    Incident: INC0010068 State: 1 Priority: 4
    Incident: INC0010135 State: 1 Priority: 2
    Incident: INC0010132 State: 1 Priority: 4
    Incident: INC0010700 State: 1 Priority: 3
    Incident: INC0013311 State: 1 Priority: 2
    Incident: INC0011758 State: 1 Priority: 4
    Incident: INC0012278 State: 1 Priority: 3
    Incident: INC0013306 State: 1 Priority: 4

    GlideQueryCondition – addUserOrCondition (Zeichenfolgenname, Zeichenfolgenoperator, Objektwert)

    Hängt einen zwei- oder drei-Parameter ODER eine Bedingung an eine vorhandene GlideQueryCondition an. Verwenden Sie diese Methode, um den Abfragezugriff basierend auf dem Anwender zu erzwingen.

    Diese Methode gibt nur Datensätze zurück, auf die der aktuelle Anwender Abfragezugriff hat (basierend auf ACLs).

    Die AddUserOrCondition() Die Methode funktioniert mit GlideRecord addUserQuery() Methode bis ODER Die angegebenen Abfrageparameter für die zuvor mit erstellte Abfrage AddUserQuery() .

    Zugehörige Methoden:
    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Feldname
    betrieb Zeichenfolge (Optional) Abfrageoperator. Die verfügbaren Werte hängen vom Datentyp von ab Wert Parameter.

    Wenn Sie keinen Operator angeben, verwendet die Bedingung einen gleich-Operator.

    Nummern:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Zeichenfolgen (muss in Großbuchstaben angegeben werden):
    • =
    • !=
    • IN
    • BEGINNT MIT
    • ENDSWITH
    • ENTHÄLT
    • DOESNOTCONTAIN
    Wert Objekt Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet).
    Hinweis:
    Alle übergebenen Arrays müssen mindestens zwei Elemente enthalten. Einzelne Element-Arrays werden nicht unterstützt.
    Tabelle : 12. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Ein Verweis auf ein GlideQueryBedingung Das wurde zu hinzugefügt GlideRecord .

    Zum Gruppieren UND/ODER von Anweisungen zum Erstellen komplexer Abfragen, z. B. zum Abrufen von 20 Incidents mit einem (Status kleiner als 3 ODER größer als 5) UND (Priorität ist 1 ODER Priorität 5).

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addUserQuery('state', '<', 3);
    q1.addUserOrCondition('state', '>', 5);
    var q2 = myObj.addUserQuery('priority', 1);
    q2.addUserOrCondition('priority', 5);
    myObj.setLimit(20);
    myObj.query();
    
    while (myObj.next()) {
      gs.info('Incident: ' + myObj.getValue('number') + ' State: ' + myObj.getValue('state') + ' Priority: ' + myObj.getValue('priority'));
    }

    Ausgabe:

    Incident: INC0000001 State: 7 Priority: 1
    Incident: INC0000004 State: 7 Priority: 1
    Incident: INC0000012 State: 7 Priority: 5
    Incident: INC0000013 State: 7 Priority: 1
    Incident: INC0000024 State: 7 Priority: 5
    Incident: INC0000028 State: 7 Priority: 5
    Incident: INC0000031 State: 2 Priority: 1
    Incident: INC0000057 State: 7 Priority: 5
    Incident: INC0000057 State: 2 Priority: 5
    Incident: INC0000058 State: 7 Priority: 5
    Incident: INC0000058 State: 2 Priority: 5
    Incident: INC0000059 State: 7 Priority: 5
    Incident: INC0000060 State: 7 Priority: 5
    Incident: INC0000061 State: 7 Priority: 5
    Incident: INC0000062 State: 7 Priority: 5
    Incident: INC0000064 State: 7 Priority: 5
    Incident: INC0000065 State: 7 Priority: 5
    Incident: INC0000066 State: 7 Priority: 5
    Incident: INC0000069 State: 7 Priority: 5
    Incident: INC0000072 State: 7 Priority: 5