Skip To Content

Berechnen von Feldwerten

Mit Feldberechnungen kann der Besitzer des gehosteten Feature-Layers oder der Portal-Administrator die Werte jeder Zeile für ein Feld in der Attributtabelle eines Layers ändern, indem er einen SQL-Ausdruck schreibt und ausführt.

Beispiel: Bei einem gehosteten Feature-Layer, in dem Informationen zu Immobilienverkäufen, einschließlich Verkaufspreis und Steuersatz für den Immobilienstandort, gespeichert werden, können Sie im Layer ein Feld hinzufügen, in dem die geschätzten Grundsteuern gespeichert werden. Um das Feld estimated_property_taxes zu belegen, definieren Sie einen Berechnungsausdruck für das Feld, der die Werte im Feld sale_price mit den Werten im Feld tax_rate multipliziert.

Im nächsten Abschnitt wird erläutert, wie Werte für ein Feld über die Detailseite eines gehosteten Feature-Layers berechnet werden. Die folgenden Abschnitte enthalten Beispiele für häufige Berechnungen.

Berechnen von Werten für ein Feld

Führen Sie die folgenden Schritte aus, um Zeichenfolge-, numerische oder Datumswerte in einem Feld zu berechnen.

Hinweis:
Feldberechnungen können nicht rückgängig gemacht werden. Aus diesem Grund sollten Sie ein Feld hinzufügen, in diesem Feld die Werte berechnen und nachprüfen, ob die Berechnung wie gewünscht ausgeführt wird. Wenn dies der Fall ist, können Sie das ursprüngliche Feld so wie das hinzugefügte Feld berechnen. Wenn Sie festgestellt haben, dass die Werte im ursprünglichen Feld korrekt sind, können Sie das hinzugefügte Feld wieder löschen.
  1. Klicken Sie auf der Elementseite des Layers auf die Registerkarte Daten, um die Tabelle anzuzeigen.
    Hinweis:

    Diese Schritte können Sie auch über die Tabelle in Map Viewer ausführen.

  2. Klicken Sie auf die Spalte, die die Werte enthält, die Sie berechnen möchten.
  3. Öffnen Sie das Dialogfeld Feld berechnen mit einer der folgenden Methoden:
    • Klicken Sie auf Berechnen.
    • Klicken Sie auf Detaillierte Ansicht anzeigen > Berechnen.
  4. Verwenden Sie Basisoperatoren, eine Feldliste und Funktionen, um den Berechnungsausdruck zu erstellen.
  5. Nachdem Sie den Ausdruck erstellt haben, klicken Sie auf die Schaltfläche Überprüfen, um sich zu vergewissern, dass in ihm keine Fehler enthalten sind. Wenn der Ausdruck ungültig ist, klicken Sie auf die Schaltfläche Entfernen, und erstellen Sie einen neuen Ausdruck.
  6. Um die Berechnung auf alle Werte im Feld anzuwenden, klicken Sie auf Berechnen.

Die Dauer der Berechnung hängt von der Komplexität des Ausdrucks und von der Anzahl der Features in Ihrem Layer ab.

Beispielberechnungen

Die folgenden Abschnitte enthalten die Beispielsyntax oder Methoden für häufige Berechnungen in einem ArcGIS Enterprise-Portal.

Durchführen einer mathematischen Operation mit numerischen Werten in zwei vorhandenen Feldern, um ein drittes Feld auszufüllen

Eine der häufigsten Berechnungen, die Sie durchführen, ist das Ableiten eines neuen numerischen Wertes basierend auf vorhandenen Werten in Ihrem Feature-Layer. Sie könnten z. B. den Gesamtumsatz eines Jahres für alle Filialen vom Gesamtumsatz eines anderen Jahres subtrahieren, um die Änderung des Gewinns von einem Jahr zum nächsten zu ermitteln. Sie könnten aber auch die Gesamtzahl von Bewohnern unter 18 Jahren durch die Gesamtbevölkerung dividieren, um den Anteil der Bevölkerung unter 18 Jahren zu bestimmen.

SQL-Beispiele

Verwenden Sie die Berechnung für ein numerisches Feld ("SalesDifference"), um die Differenz zwischen den Werten in den numerischen Feldern "Sales2016" und "Sales2017" zu ermitteln.

Sales2016 - Sales2017

Füllen Sie ein numerisches Feld mit einer Dezimalzahl aus, die das Ergebnis der Berechnung ist, welcher Anteil der Bevölkerung unter 18 Jahre alt ist.

PopUnder18/TotalPop

Verketten von Zeichenfolgenwerten aus vorhandenen Feldern in einem neuen Zeichenfolgenfeld

Bei einer anderen Berechnung, bei der ein neues Feld ausgefüllt wird, werden Werte aus vorhandenen Zeichenfolgenfeldern kombiniert. Sie könnten z. B. über zwei Zeichenfolgenfelder für die Lage von Zimmern in einem Hotel verfügen ("Floor" und "Room") und möchten sie in einem Zeichenfolgenfeld kombinieren, das beide Angaben enthält.

SQL-Beispiel

In diesem Beispiel werden die Werte für die Felder "Floor" und "Room" in einem Feld kombiniert.

CONCAT(Floor,Room)

Entfernen von nachgestellten oder vorangestellten Leerzeichen aus Zeichenfolgenfeldern

Wenn bei der Bearbeitung Werte in ein Feld eingegeben oder eingefügt werden, kann der Text versehentlich nachgestellte oder vorangestellte Leerzeichen enthalten. Sie können diese Fehler korrigieren, indem Sie die Werte kürzen.

SQL-Beispiel

Bei diesem Beispiel wissen Sie, dass der Editor ein nachgestelltes Leerzeichen hinzugefügt hat, als er "New Hampshire" in das Feld für die Namen der Bundesstaaten eingefügt hat. Daher kürzen Sie das Leerzeichen am Ende der Zeichenfolge.

Trim(TRAILING ' ' FROM 'New Hampshire ')

Ausfüllen eines Feldes mit anderen Werten abhängig von den Werten in einem anderen Feld

Manchmal ist der Wert, den ArcGIS Enterprise in ein Feld schreiben soll, je nach Feature unterschiedlich und hängt von einem anderen Wert für das gleiche Feature ab. Sie können z. B. zu einem Feature-Layer ein Zeichenfolgenfeld für den Text hinzufügen, der einen numerischen oder abgekürzten Zeichenfolgenwert in einem anderen Feld beschreibt.

SQL-Beispiel

Für diese Arten von Berechnungen werden normalerweise WHERE-Klauseln verwendet, die gegenwärtig in der Berechnungsoberfläche von ArcGIS Enterprise-Portalen nicht unterstützt werden. Sie können jedoch einen Filter auf den Layer in Map Viewer anwenden, Werte für die gefilterten Features berechnen, den Filter entfernen, einen anderen Filter basierend auf einem anderen Wert anwenden und Werte für diese Felder berechnen.

Wenn Sie z. B. über ein numerisches Feld verfügen, in dem Filialtypen mithilfe von Codes (3, 2 und 1) erfasst werden, und ein Zeichenfolgenfeld benötigen, in dem die Bedeutung der Codes aufgeführt ist ("chain", "franchise" und "independent"), können Sie ein Zeichenfolgenfeld zum Layer hinzufügen, den Layer zu Map Viewer hinzufügen, nach den einzelnen Codewerten filtern und den Wert für das Zeichenfolgenfeld berechnen.

  1. Fügen Sie ein Zeichenfolgenfeld zum gehosteten Feature-Layer hinzu. Legen Sie die Länge entsprechend der längsten Zeichenfolge fest, die Sie speichern möchten.

    Im Beispiel mit den Filialtypen lautet der neue Feldname TypeFull.

  2. Klicken Sie auf der Registerkarte Übersicht der Detailseite des Layers auf In Map Viewer öffnen.
  3. Definieren Sie einen Filter für den Layer, sodass nur Features mit dem gleichen Typ in der Karte vorhanden sind.

    Wenden Sie im Filialbeispiel einen Filter an, der nur die Features zurückgibt, bei denen das Feld StoreCode den Wert 3 hat.

  4. Öffnen Sie die Attributtabelle für den Layer.
  5. Klicken Sie auf den Namen des Feldes, das Sie in Schritt 1 hinzugefügt haben, und klicken Sie auf Berechnen.

    Klicken Sie in diesem Beispiel auf den Namen TypeFull und dann auf Berechnen.

  6. Geben Sie die Zeichenfolge ein, die für diese Features in dieses Feld eingefügt werden soll. Schließen Sie die Zeichenfolge in einfache Anführungszeichen ('') ein.

    Geben Sie 'chain' ein, um das Feld TypeFull für alle Features auszufüllen, bei denen StoreCode den Wert 3 hat.

  7. Klicken Sie auf Berechnen.
  8. Entfernen Sie den Filter, den Sie in Schritt 3 definiert haben. (Öffnen Sie das Fenster Filter für den Layer erneut, und klicken Sie auf Filter entfernen).
  9. Wiederholen Sie die Schritte 3 bis 8 für die übrigen Werte, die Sie berechnen müssen.

    Definieren Sie im Filialbeispiel einen Filter für StoreCode 2, und berechnen Sie TypeFull in 'franchise'. Entfernen Sie den Filter, definieren Sie einen neuen Filter für StoreCode 1, und berechnen Sie TypeFull in 'independent'.

  10. Wenn Sie die Werte für das neue Feld berechnet haben, schließen Sie Map Viewer, ohne die Karte zu speichern.

Ersetzen eines Wertes durch einen anderen

Wenn Sie einen vorhandenen Wert durch einen anderen ersetzen müssen, weil sich z. B. die Darstellung eines bestimmten Wertes geändert hat oder Sie einen Schreibfehler korrigieren müssen, können Sie nach allen vorhandenen Werten für ein Feld suchen und sie durch einen neuen Wert ersetzen.

Vorsicht:

Berechnungen werden sofort im Feature-Layer gespeichert. Wenn Sie einen vorhandenen Wert fälschlicherweise überschreiben, müssen Sie den Wert erneut berechnen, um ihn wieder zurück zu ändern.

SQL-Beispiel

Ähnlich wie beim Ausfüllen eines Feldes basierend auf den Werten in einem anderen Feld können Sie in Map Viewer einen Filter auf den Layer anwenden, der nur die Features zurückgibt, die den zu ersetzenden Feldwert enthalten. Legen Sie als Nächstes die gefilterten Felder auf den neuen Feldwert fest, um die Feldwerte zu aktualisieren.

Wenn Sie z. B. falsch geschriebene Werte korrigieren oder ein Wort in eine Abkürzung konvertieren müssen, filtern Sie nach der Literalzeichenfolge, die Sie ändern müssen, und legen Sie das Feld auf den neuen Wert fest.

  1. Fügen Sie den gehosteten Feature-Layer, den Sie ändern müssen, zu Map Viewer hinzu.

    Sie müssen der Layer-Besitzer oder ein Portal-Administrator sein.

  2. Definieren Sie einen Filter für den Layer, sodass nur Features, die den Wert enthalten, den Sie ersetzen möchten, auf der Karte angezeigt werden.

    Wenn Sie z. B wissen, dass eine Reihe von Features Crt-Werte für das Feld StreetType enthält, wenden Sie einen Filter an, der nur die Features zurückgibt, bei denen das Feld StreetType den Wert Crt hat.

  3. Öffnen Sie die Attributtabelle für den Layer.
  4. Klicken Sie auf den Feldnamen und dann auf Berechnen.

    Klicken Sie in diesem Beispiel auf das Feld StreetType und dann auf Berechnen.

  5. Geben Sie die Zeichenfolge ein, die für diese Features in dieses Feld eingefügt werden soll. Schließen Sie die Zeichenfolge in einfache Anführungszeichen ('') ein.

    Geben Sie 'Ct' ein, um die gefilterten StreetType-Felder mit der korrigierten Abkürzung für Court auszufüllen.

  6. Klicken Sie auf Berechnen, um die Änderungen auf die gefilterten Felder anzuwenden.
  7. Schließen Sie Map Viewer, ohne die Karte zu speichern.

Hinzufügen von Zeit zu oder Subtrahieren von Zeit von einem Datum

Um ein aktualisiertes Datumsfeld zu erhalten, kann man Zeit zu einem Datumsfeld oder Datumsliteralwert addieren oder davon subtrahieren. Beispielsweise lässt sich ein künftiges Inspektions- oder Prüfdatum durch Hinzufügen von Zeit zu einem Datum berechnen.

SQL-Beispiele

Verwenden Sie eine INTERVAL-Abfrage, um Zeit zu einem Datumsfeld zu addieren oder davon zu subtrahieren, wie in den folgenden Berechnungen veranschaulicht. Im ersten Beispiel werden einem Datum drei Tage hinzugefügt, was in einem neuen Datum resultiert. Im zweiten Beispiel werden drei Tage von einem Zeitstempelfeld subtrahiert.

<DateField> + INTERVAL '3'DAY = updated date
<DateField> - INTERVAL '3 00:00:60' DAY TO SECOND = updated date

INTERVAL kann mit den folgenden Datums- und Zeitwerten verwendet werden:

  • DAY
  • STUNDE
  • MINUTE
  • SEKUNDE
  • DAY TO HOUR
  • DAY TO MINUTE
  • DAY TO SECOND
  • HOUR TO MINUTE
  • HOUR TO SECOND
  • MINUTE TO SECOND

Berechnen der Differenz zwischen zwei Datumsangaben

Manchmal ist es erforderlich, den Zeitraum zwischen zwei Datumsangaben zu berechnen. Wenn Ihnen z. B. die Installationsdaten und Inspektionsdaten für Stromzähler vorliegen, können Sie die Differenz zwischen den beiden Daten ermitteln, um zu überprüfen, ob der Zeitabstand zwischen Installation und Inspektion innerhalb der zulässigen Vorgaben liegt. Das Ergebnis dieser Berechnung ist kein Datumsfeld, sondern ein Zahlenfeld.

SQL-Beispiele

Zum Berechnen des Zeitabstands zwischen zwei Daten können Sie beliebige Kombinationen von Datumsfeldern und Datumsliteralen verwenden. Bei der ersten nachstehenden Berechnung wird ein Datumsfeld verwendet, bei der zweiten ein Datumsliteral. Bei dritten und vierten Berechnung wird sowohl ein Datumsfeld als auch ein Datumsliteral verwendet.

<DateField1> - <DateField2> = number of days in between
DATE'<SQL-supported Date Literal>' - DATE'< SQL-supported Date Literal>' = number of days in between
<DateField1> - DATE'<SQL-supported Date Literal>' = number of days in between
DATE'<SQL-supported Date Literal>' - <DateField2>  = number of days in between

Das Ergebnis ist ein Zahlenfeld, das durch Subtraktion eines Datumsfelds oder Datumsliterals von einem anderen Datumsfeld oder Datumsliteral berechnet wird. Das Ergebnis kann sowohl eine ganze Zahl (von Tagen) sein als auch einen Bruch beinhalten – so würde z. B. 1,5 für eineinhalb Tage bzw. 36 Stunden stehen.

Im vorstehend erwähnten Beispiel für Stromzählerinspektionen kann zur Berechnung des Zeitraums zwischen einem Installationsdatum vom 1.6.2015 und 1.10.2015 jeder der folgenden Berechnungswege verwendet werden. Bei der ersten Berechnung werden Datumsfelder verwendet, beim zweiten Datumsliterale und im dritten und vierten jeweils ein Datumsfeld und ein Datumsliteral.

<InspectionDateField> - <InstallationDateField> = 122 (days)
DATE'10/1/2015' - DATE'6/1/2015' = 122 (days)
<InspectionDateField> - DATE'6/1/2015' = 122 (days)
DATE'10/1/2015' - <InstallationDateField> = 122 (days)

Überlegungen beim Berechnen von Feldwerten

  • Wenn Sie über einen Filter für Ihren Layer in Map Viewer verfügen, werden nur die Werte der Datensätze berechnet, die den Filterkriterien entsprechen.
  • Beim Schreiben von SQL-Ausdrücken funktioniert Feld berechnen nur mit Feldnamen, nicht mit Feld-Aliasnamen. In der Liste Felder werden alle Feldnamen angezeigt, die für Berechnungen verfügbar sind. Diese Liste kann nach den Feldtypen String, Numerisch und Datum gefiltert werden.
    • Wenn Sie mit der Maus auf einen Feldnamen in der Liste Felder zeigen, werden Feld-Aliasname und -typ angezeigt.
    • Wenn Sie auf einen Feldnamen in der Liste Felder klicken, wird das Feld zu dem Ausdruck hinzugefügt.
  • In Kopien von gehosteten Feature-Layern, in gehosteten Feature-Layern, denen Kachel-Layer zugeordnet sind, in gehosteten Feature-Layern vom Typ "spatiotemporal" und in Sichten, die aus gehosteten Feature-Layern vom Typ "spatiotemporal" erstellt wurden, können Sie Feldwerte nicht berechnen.
  • Beim Berechnen von Feldwerten werden nur standardisierte SQL-Abfragen unterstützt.
  • Die numerische MOD-Funktion können Sie für Double-Felder nicht verwenden. Konvertieren Sie das Feld in eine Ganzzahl, wie im Beispiel dargestellt.

Referenz für standardisierte SQL-Funktionen (SQL-92)

Wenn Sie einen SQL-Ausdruck zum Berechnen von Feldwerten schreiben, sollten Sie standardisierte SQL-Funktionen verwenden. Dieser Abschnitt enthält eine Liste der Operatoren und SQL-Funktionen, die Sie für SQL-Berechnungen im ArcGIS Enterprise-Portal verwenden können.

Nachdem Sie den SQL-Ausdruck erstellt haben, klicken Sie auf die Schaltfläche Berechnen. Falls Fehler vorliegen, wird im unteren Bereich des Dialogfeldes eine Fehlermeldung angezeigt. Korrigieren Sie die Ausdruckssyntax, und wiederholen Sie die Berechnung.

Operatoren

Im Dialogfeld Feld berechnen können Sie einfache SQL-Ausdrücke mit Operatoren wie Addieren, Subtrahieren, Multiplizieren und Dividieren erstellen. Nachfolgend finden Sie einige Beispiele und Tipps für die Verwendung dieser Operatoren:

  • Um alle Werte in einem numerischen Feld namens SAMPLE mit 100,0 zu multiplizieren, geben Sie SAMPLE * 100.0 für den Ausdruck ein.
  • Für komplexere Gleichungen können Sie Klammern verwenden, um die Reihenfolge der Berechnungen festzulegen, z. B. SAMPLE * (BASELINE - 40).
  • Mathematische Operatoren funktionieren nicht mit Zeichenfolgenfeldern. Sie müssen die Zeichenfolgenfunktionen verwenden, die im Abschnitt Zeichenfolgenfunktionen beschrieben werden.
  • Wenn Sie ein Feld vom Typ "Double" in ein Feld vom Typ "Integer" umrechnen, wird dem Ausdruck automatisch die CAST-Funktion hinzugefügt. Wenn Sie beispielsweise ein Double-Feld namens POP in ein ganzzahliges Feld namens SAMPLE umrechnen, wird als Ausdruck CAST(SAMPLE AS FLOAT) angezeigt. Entfernen Sie die CAST-Funktion nicht. Weitere Informationen zur CAST-Funktion finden Sie nachstehend unter Numerische Funktionen.
  • Um ein Apostroph in die Zeichenfolge einzufügen, verwenden Sie zwei einzelne Anführungsstriche für das Apostroph, z. B. 'Nightingale''s'. Verwenden Sie kein doppeltes Anführungszeichen.

Funktionen

Neben einfachen Ausdrücken mit Operatoren können auch Funktionen zum Erstellen von SQL-Ausdrücken verwendet werden. Funktionen arbeiten mit Feldnamen, Literalen und anderen Funktionen. Beispiel: Sie müssen ein Double-Feld in TOTALPOP dividiert durch POP18 umrechnen. Wenn POP18 eines Features gleich Null ist, führt die Berechnung zu dem Fehler "Division durch Null". Dies kann wie nachfolgend beschrieben mit der NULLIF-Funktion verhindert werden. Der Ausdruck muss TOTALPOP / NULLIF(POP18, 0) lauten.

Funktionen verwenden Argumente. In den folgenden Tabellen kann jedes Argument wie folgt lauten:

  • Ein Feldname, solange der Feldtyp mit dem Argumenttyp (String, numerisch oder Datum) übereinstimmt.
  • Ein Literal wie 'Sailboat' (eine in einfache Anführungszeichen gesetzte Zeichenfolge), die Zahl 5 oder ein Datum im Format MM/DD/YYYY hh:mm:ss, das von einfachen Anführungszeichen umgeben ist.
  • Eine Funktion, die einen Wert des geeigneten Typs (String, numerisch oder Datum) zurückgibt. Beispielsweise gibt FLOOR(POWER(SAMP_ERR, 0.5)) den größten ganzzahligen Wert zurück, der kleiner oder gleich der Quadratwurzel von SAMP_ERR ist.

Die Beispiele in der Beschreibungsspalte der folgenden Tabellen verwenden zu Veranschaulichungszwecken literale Argumente. Sie können bei diesen Argumenten einen Feldnamen oder eine andere Funktion ersetzen.

Datumsfunktionen

An Datumsfeldern lassen sich einige Berechnungen vornehmen. Beispielsweise können Sie Zeit zu einem Datumsfeld addieren bzw. davon subtrahieren oder auch die Differenz zwischen zwei Datumsfeldern berechnen.

Bevor Sie mit Datumsfeldern arbeiten, sollten Sie diese wichtigen Hinweise lesen.

Zum Berechnen von Datumsfeldern können Sie beliebige Kombinationen von Datums- und Zahlenfeldern sowie Literalen verwenden. Bei der Anwendung von Datumsliteralen müssen Sie SQL-unterstützte Datumsformate verwenden.

Die folgenden Datumsfunktionen sind verfügbar:

FunktionBeschreibung

CURRENT_DATE

Gibt das aktuelle Datum in UTC-Zeit zurück.

Es hängt vom verwendeten Client ab, was im Client angezeigt wird. In der Portal-Website werden Datumsangaben in der Zeitzone Ihres Browsers dargestellt.

Mit dem folgenden Beispiel werden alle Werte im Feld "inspection_date" zurückgegeben, die ein Datum vor dem heutigen Datum aufweisen:

inspection_date > CURRENT_DATE

CURRENT_TIMESTAMP

Gibt das aktuelle UTC-Datum und die UTC-Uhrzeit (Stunden, Minuten, Sekunden) zurück.

Es hängt vom verwendeten Client ab, was im Client angezeigt wird. In der Portal-Website werden Uhrzeiten in der lokalen Uhrzeit Ihres Browsers dargestellt.

In diesem Beispiel werden alle Zeitstempelwerte vor dem heutigen Datum und der aktuellen Uhrzeit (in UTC) für das Feld appointments zurückgegeben:

appointments < CURRENT_TIMESTAMP

EXTRACT(<unit> FROM '<date>')

Gibt einen Teil (<unit>) des angegebenen <date> zurück. Mögliche Werte für <unit> sind unter anderem Jahr, Monat, Tag, Stunde und Minute.

Hier einige Beispiele:

  • EXTRACT(MONTH FROM '12-21-2016'): Ergebnis ist 12.
  • EXTRACT(DAY FROM '12-21-2016 12:00'): Ergebnis ist 21.
  • EXTRACT(HOUR FROM '12-21-2016 15:00:44'): Ergebnis ist 15.

Numerische Funktionen

FunktionBeschreibung

ABS(<number>)

Gibt den absoluten (positiven) Wert der angegebenen Zahl zurück.

CEILING(<number>)

Gibt die kleinste Ganzzahl zurück, die größer als oder gleich der angegebenen Zahl ist.

Beispiel

  • CEILING(12.93): Das Ergebnis ist 13.

COS(<number>)

Gibt den trigonometrischen Cosinus von <number> zurück, von dem angenommen wird, dass es sich um einen Winkel in Radianten handelt.

CAST(<Zahl>AS FLOAT | INT)

Konvertiert eine Zahl in einen anderen Typ. FLOAT konvertiert die angegebene Zahl in einen Double-Wert und INT konvertiert sie in eine Ganzzahl.

FLOOR(<number>)

Gibt die größte Ganzzahl zurück, die kleiner als oder gleich der angegebenen Zahl ist.

Beispiel

  • FLOOR(12.93): Das Ergebnis ist 12.

LN(<number>,<decimal_place>)

Der natürliche Logarithmus der angegebenen Zahl.

LOG(<number>,<decimal_place>)

Der Logarithmus zur Basis 10 der angegebenen Zahl.

MOD(<number>, <n>)

Gibt den Rest zurück, nachdem der Dividend (<Zahl>) durch den Divisor <n> dividiert wurde. Sowohl <n> als auch <Zahl> muss vom Typ "Integer" sein.

Hier einige Beispiele:

  • MOD(10, 4): Das Ergebnis ist 2.
  • MOD(CAST(DBLFIELD AS INT), 4): DBLFIELD ist ein Feld vom Typ "Double", sodass die Funktion CAST benötigt wird, um Werte vom Typ "Double" in den Typ "Integer" zu konvertieren.

NULLIF(<number>, <value>)

Gibt null zurück, wenn die angegebene Zahl gleich dem angegebenen Wert ist. NULLIF wird im Allgemeinen verwendet, um Fehler vom Typ "Division durch Null" zu vermeiden, indem <value> auf 0 gesetzt wird.

Wenn bei einer Berechnung eines der Argumente ein null-Feldwert ist, ist das Ergebnis der Berechnung null.

Beispiel: Sie müssen ein Double-Feld in TOTALPOP dividiert durch POP18 umrechnen. Wenn ein POP18-Wert eines Features gleich Null ist, führt die Berechnung zu dem Fehler "Division durch Null". Sie können einen Filter erstellen, um Datensätze auszublenden, bei denen POP18 Null ist, und anschließend die Berechnung durchführen. Eine einfachere Option ist die Verwendung von NULLIF.

  • TOTALPOP / NULLIF(POP18, 0): Gibt null zurück, wenn POP18 gleich Null ist. Andernfalls wird der Wert TOTALPOP / POP18 zurückgegeben.

POWER(<number> , <y>)

Gibt den Wert der angegebenen Zahl potenziert mit der angegebenen Potenz (<y>) zurück.

ROUND(<number> , <length>)

Rundet die angegebene Zahl auf die angegebene Länge.

Wenn Sie als <length> eine positive Zahl verwenden, wird die Zahl auf die in <length> angegebene Dezimalstelle gerundet. Wenn <length> eine negative Zahl ist, wird die als <number> angegebene Zahl links vom Dezimaltrennzeichen gerundet.

Beispiele

  • ROUND(10.9934,2): Ergebnis ist 10,99.
  • ROUND(10.9964,2): Ergebnis ist 11,00.
  • ROUND(111.0,-2): Ergebnis ist 100,00.

SIN(<number>)

Gibt den trigonometrischen Sinus von <number> zurück, von dem angenommen wird, dass es sich um einen Winkel im Bogenmaß handelt.

TAN(<number>)

Gibt den Tangens von <number> zurück, von dem angenommen wird, dass es sich um einen Winkel im Bogenmaß handelt.

TRUNC(<number>,<decimal_place>)

Schneidet <number> an der angegebenen <decimal_place> ab.

Wenn <decimal_place> positiv ist, wird bis zur angegebenen Dezimalstelle gekürzt. Wenn <decimal_place> eine negative Zahl ist, wird <number> links vom Dezimaltrennzeichen gekürzt.

Beispiele

  • TRUNC(111.996,2): Ergebnis ist 111,99.
  • TRUNC(111.996,-2): Ergebnis ist 100,00.

Zeichenfolgenfunktion

FunktionBeschreibung

CHAR_LENGTH(<string>)

Gibt die Anzahl der Zeichen in der angegebenen Zeichenfolge zurück. Das Ergebnis ist ein Ganzzahlwert.

Beispiel

  • CHAR_LENGTH('Redlands'): Das Ergebnis ist 8.

CONCAT(<string1>, <string2>)

Verbindet zwei Zeichenfolgewerte.

Es können nur zwei Zeichenfolgen bereitgestellt werden. Um mehr als zwei Zeichenfolgen zu verbinden, müssen aufeinanderfolgende CONCAT-Funktionen verschachtelt werden.

Beispiele

  • CONCAT('A', 'B'): Das Ergebnis ist 'AB'.
  • CONCAT('A', CONCAT(':', 'B')): Das Ergebnis ist 'A:B'.

NULL-Werte werden in eine leere Zeichenfolge konvertiert.

POSITION(<substring> in <string>)

Gibt die Position des ersten Vorkommnisses der angegebenen Teilzeichenfolge in der angegebenen Zeichenfolge zurück. Wenn die angegebene Teilzeichenfolge nicht gefunden wird, ist das Ergebnis 0.

Beispiele

  • POSITION('boat'in 'Sailboat'): Das Ergebnis ist 5.
  • POSITION('motor'in 'Sailboat'): Das Ergebnis ist 0.

SUBSTRING(<string>, <start>, <length>)

Gibt einen Teil eines Zeichenfolgewertes zurück. <start> ist ein Ganzzahlindex, der angibt, wo die zurückgegebenen Zeichen beginnen, und <length> ist die Anzahl der Zeichen, die zurückgegeben werden sollen.

Beispiele

  • SUBSTRING('Sailboat', 5, 4): Das Ergebnis ist 'boat'.
  • SUBSTRING('Sailboat', 1, 4): Das Ergebnis ist 'Sail'.
  • SUBSTRING('Sailboat', 5, 100): Das Ergebnis ist 'boat'.

TRIM(BOTH | LEADING | TRAILING ' ' FROM <string>)

Gibt eine Zeichenfolge zurück, bei der alle vor- und nachgestellten Leerstellen in der angegebenen Zeichenfolge entfernt wurden.

Beispiel

  • TRIM(BOTH ' ' FROM ' San Bernardino '): Das Ergebnis ist 'San Bernardino'.

Beachten Sie, dass das zweite Argument aus zwei einfachen Anführungszeichen besteht, zwischen denen sich eine Leerstelle befindet.

UPPER(<string>)

Gibt eine Zeichenfolge zurück, bei der alle Zeichen in Großbuchstaben konvertiert wurden.

Beispiel

  • UPPER('Sailboat'): Das Ergebnis ist 'SAILBOAT'.

LOWER(<string>)

Gibt eine Zeichenfolge zurück, bei der alle Zeichen in Kleinbuchstaben konvertiert wurden.

Beispiel

  • LOWER('Sailboat'): Das Ergebnis ist 'sailboat'.