ArcGIS-Server setzt standardisierte Abfragen standardmäßig durch, wodurch Entwickler standardisierte SQL-Abfragen verwenden müssen, wenn Sie Karten-, Feature-, Image und WFS-Services über REST oder SOAP verwenden. Dadurch wird die Einschleusung von SQL-Befehlen verhindert. Weitere Informationen hierzu finden Sie unter Standardisierte Abfragen.
Wenn Sie als Anwendungsentwickler noch eine datenbankspezifische Syntax der WHERE-Klausel verwenden, müssen Sie die WHERE-Klauseln im Code der Anwendung aktualisieren, um eine bekannte, von ArcGIS-Server unterstützte SQL-Syntax verwenden zu können. Aus der folgenden Liste geht hervor, welche SQL-Funktionen unterstützt werden und wie die jeweilige Syntax lautet. Wenn die folgenden Funktionen und die Syntax in Ihren Anwendungen verwendet werden, konvertiert ArcGIS-Server sie entsprechend den Spezifikationen der Datenbank, die von dem Service verwendet wird.
Funktionstyp | Funktion | Beschreibung | Beispiel | Hinweise |
---|---|---|---|---|
Datum | CURRENT_DATE | Gibt das aktuelle Datum in der Sitzungszeitzone zurück. | Datefield < CURRENT_DATE | Es wird nur die folgende Datums- und Zeitstempelsyntax unterstützt: Datum 'JJJJ-MM-TT', beispielsweise Datefield = date '2012-05-29' Zeitstempel 'JJJJ-MM-TT hh:mm.ss', beispielsweise, Datefield = timestamp '2012-05-29 15:14:25' |
CURRENT_TIMESTAMP | Gibt die aktuelle lokale Uhrzeit zurück. | Timestampfield < CURRENT_TIMESTAMP | ||
EXTRACT(extract_field FROM extract_source) | Gibt einen Teil des/der Datum/Zeit wie Jahr, Monat, Tag, Stunde, Minute usw. zurück. Beim Argument extract_field kann es sich um eines der folgenden Schlüsselwörter handeln: YEAR, MONTH, DAY, HOUR, MINUTE oder SECOND. | Sucht alle Zeilen des Monats November: EXTRACT(MONTH FROM Datefield) = 11 | ||
Mathematik | ABS(numeric_exp) | Gibt den absoluten (positiven) Wert des angegebenen numerischen Ausdrucks zurück. | ||
CEILING(numeric_exp) | Gibt die kleinste Ganzzahl zurück, die größer als oder gleich dem angegebenen numerischen Ausdruck ist. | |||
FLOOR(numeric_exp) | Gibt die größte Ganzzahl zurück, die kleiner als oder gleich dem angegebenen numerischen Ausdruck ist. | |||
LOG(float_exp) | Gibt den natürlichen Logarithmus des angegebenen float-Ausdrucks zurück. | |||
LOG10(float_exp) | Gibt den Logarithmus der Basis 10 des angegebenen float-Ausdrucks zurück. | |||
POWER(numeric_exp, integer_exp) | Gibt den Wert des angegebenen Ausdrucks mit der angegebenen Potenz zurück. | POWER(Numericfield, 2) = 16 | ||
ROUND(numeric_exp, integer_exp) | Gibt einen numerischen Wert an, der auf die angegebene Länge oder Genauigkeit gerundet ist. | |||
TRUNCATE(numeric_exp, integer_exp) | Gibt einen numerischen Wert an, ohne den Wert auf eine angegebene Länge oder Genauigkeit zu runden. | |||
Zeichenfolge | CHAR_LENGTH(string_exp) | Gibt die Länge der Eingabezeichenfolge in Zeichen zurück. | ||
CONCAT(string_exp1, string_exp2) | Gibt eine Zeichenfolge zurück, die das Ergebnis der Verkettung von mindestens zwei Zeichenfolgenwerten ist. | |||
LOWER(string_exp) | Gibt einen Zeichenausdruck nach dem Konvertieren von Großbuchstaben in Kleinbuchstaben zurück. | |||
SUBSTRING(string_exp FROM start FOR length) | Gibt einen Teil eines Zeichen- oder Textausdrucks zurück. | Sucht alle Zeilen, bei denen die ersten beiden Zeichen aus Werten in Stringfield "Ch" lauten: SUBSTRING(Stringfield FROM 1 FOR 2)='Ch' | ||
UPPER(string_exp) | Gibt einen Zeichenausdruck mit Daten zurück, deren Kleinbuchstaben in Großbuchstaben konvertiert wurden. |