Vergleichen von Spalten
Spalten können gegen einen anderen Satz von Zielen verglichen werden. In der One Identity Manager Abfragesprache beginnen alle diese Vergleiche mit dem Spaltennamen.
WHERE <Column> <Operator> <Operand>
Die folgenden Operatoren werden beim Vergleich von Spalten unterstützt.
= |
Gleich |
Wert, der mit dem Typ der Spalte, dem Parameter oder einer anderen Spalte übereinstimmt |
<> |
Nicht gleich |
Wert, der mit dem Typ der Spalte, dem Parameter oder einer anderen Spalte übereinstimmt |
< |
Kleiner als |
Wert, der mit dem Typ der Spalte, dem Parameter oder einer anderen Spalte übereinstimmt |
> |
Größer als |
Wert, der mit dem Typ der Spalte, dem Parameter oder einer anderen Spalte übereinstimmt |
<= |
Kleiner als oder gleich |
Wert, der mit dem Typ der Spalte, dem Parameter oder einer anderen Spalte übereinstimmt |
>= |
Größer als oder gleich |
Wert, der mit dem Typ der Spalte, dem Parameter oder einer anderen Spalte übereinstimmt |
LIKE |
Übereinstimmung mit einem angegeben Muster (wie SQL Operator like) |
Zeichenkette oder mehrwertige Eigenschaft |
NOT LIKE |
Keine Übereinstimmung mit einem angegeben Muster |
Zeichenkette oder mehrwertige Eigenschaft |
STARTSWITH |
Zeichenkette beginnt mit |
Zeichenkette oder mehrwertige Eigenschaft |
ENDSWITH |
Zeichenkette endet mit |
Zeichenkette oder mehrwertige Eigenschaft |
CONTAINS |
Zeichenkette enthält |
Zeichenkette oder mehrwertige Eigenschaft |
BITSSET |
Die angegebenen Bit-Positionen sind gesetzt |
Ganzzahliger Wert oder Parameter |
BITSNOTSET |
Die angegebenen Bit-Positionen sind nicht gesetzt |
Ganzzahliger Wert oder Parameter |
Beispiele für Spaltenvergleiche
WHERE Lastname = 'Einstein'
WHERE XDateInserted > 2020-02-01
WHERE Lastname STARTSWITH 'Ein'
WHERE XMarkedForDeletion BITSSET 2
Vergleichen mittels IN-Klauseln und NOT IN-Klauseln
Vergleiche mit den Schlüsselworten IN und NOT IN ermöglichen in der One Identity Manager Abfragesprache den Vergleich einer Spalte mit einer Menge von Werten.
Die Werte können angegeben werden
-
in Form einer Werteliste
-
als mehrwertige Zeichenkette, getrennt durch ein ASCII-7-Zeichen
-
als Parameter, der eine durch ein ASCII-7-Zeichen getrennte mehrwertige Zeichenkette enthält
Wertelisten
WHERE <Column> IN ( <Value>, <Value>, ...)
WHERE <Column> NOT IN ( <Value>, <Value>, ...)
Alle Werte müssen vom gleichen Typ sein und müssen in den Typ der Spalte konvertierbar sein.
Beispiele für Wertlisten
WHERE StringColumn IN ('Value 1', 'Value 2', 'Value 3')
WHERE StringColumn NOT IN ('Value 1', 'Value 2', 'Value 3')
Mehrwertige Zeichenkette
WHERE <Column> IN 'Separated string value'
WHERE <Column> NOT IN 'Separated string value'
Beispiel für mehrwertige Zeichenketten
WHERE Lastname IN 'Harris Basset Bloggs'
Parameter
Mehrwertigen Zeichenketten können über Parameter an Abfragen übergeben werden.
WHERE <Column> IN @Parameter
Beispiel für Parameter
WHERE Lastname IN @Lastnames
Die MVP-Syntax kann ebenfalls verwendet werden. Die normale IN-Klausel-Syntax sollte in diesem Fall bevorzugt werden. Weitere Informationen finden Sie unter Zeichenkettenwerte.
Vergleichen von Datumsdifferenzen
Ein Spezialfall von Spaltenvergleichen in der One Identity Manager Abfragesprache sind die Vergleiche von Datumsdifferenzen. Diese vergleichen den Wert einer Spalte mit einem Zeitbereich, der auf der aktuellen Uhrzeit basiert.
WHERE <Column> <Operator> DATE <Integer> <Unit> AGO
Jahre |
YEARS YEAR Y |
Monate |
MONTHS MONTH M |
Wochen |
WEEKS WEEK |
Tage |
DAYS DAY D |
Stunden |
HOURS HOUR H |
Minuten |
MINUTES MINUTE MIN |
Sekunden |
SECONDS SECOND S |
Millisekunden |
MILLISECONDS MILLISECOND MS |
Beispiele
WHERE XDateInserted < DATE 3 MONTHS AGO
WHERE XDateInserted > DATE 5 MIN AGO
Vergleichen von Datumsbereichen
Vergleiche von Datumsbereichen in der One Identity Manager Abfragesprache prüfen, ob ein Datum in einen bestimmten Datumsbereich fällt.
Syntax für benannte Bereiche
WHERE <Column> IN RANGE <Range name> [ TIMEZONE 'Timezone ID'] [CULTURE 'Language code ID']
Syntax für einen bestimmten Zeitbereich
WHERE <Column> IN RANGE <Start time> TO <End time> [TIMEZONE <Timezone ID>]
Die Startzeit von Bereichen ist eingeschlossen, die Endzeit ist ausgeschlossen.
Zulässige Bezeichnungen sind:
TODAY
YESTERDAY
THIS WEEK
THIS MONTH
THIS YEAR
LAST WEEK
LAST MONTH
LAST YEAR
LAST <integer> DAYS
LAST <integer> DAY
Die Namen der Zeitzonen müssen mit den Bezeichnern auf dem System übereinstimmen, das die Abfrage ausführt. Wenn keine Zeitzone angegeben wird, wird die UTC-Zone verwendet.
De Sprachcode gibt den Wochenanfangstag an. Sie ist nur sinnvoll, wenn einer der Wochenbereiche angegeben wird.
Beispiele
WHERE XDateInserted IN RANGE YESTERDAY
WHERE XDateInserted IN RANGE YESTERDAY
TIMEZONE 'W. Europe Standard Time'
WHERE XDateInserted IN RANGE LAST YEAR
WHERE XDateInserted IN RANGE THIS WEEK
TIMEZONE 'W. Europe Standard Time'
CULTURE 'de-DE'
WHERE XDateInserted IN RANGE 2020-01-01 TO 2020-02-01
TIMEZONE 'W. Europe Standard Time'
Verwandte Themen