Ebene nach Attribut mit der SQL-Anweisung LEN () in ArcMap auswählen?

9

Ich möchte die Länge einer Zeichenfolgenspalte abfragen und dachte, Folgendes zu verwenden:

LEN([ColumnName]) > 5

Das funktioniert jedoch überhaupt nicht. Ich frage eine Tabelle in einer fGDB in ArcMap 10.1 ab, daher die Notation [ColumnName].

Kann mir jemand helfen?

Die Fehlermeldung, die ich von ArcGIS erhalte, lautet, dass ich eine ungültige SQL-Anweisung verwende.

Thomas Becker
quelle

Antworten:

17

Um die Länge eines Zeichenfolgenausdrucks in Zeichen zu berechnen, verwenden Sie CHAR_LENGTH(string_exp)

Feldnamen-Trennzeichen für die Geodatabase von Dateien sind doppelte Anführungszeichen (keine eckigen Klammern).

Das sollte also funktionieren:

CHAR_LENGTH(“ColumnName“) > 5

Hier ist eine SQL-Referenz für in ArcGIS verwendete Abfrageausdrücke .

Jens
quelle
1

Was passiert, wenn Sie Ihrer Tabelle ein neues Feld mit dem Namen "str_length" hinzufügen und das Feld dann mit der Länge des Werts des gewünschten Felds füllen?

str_length = len(columnname)

Treffen Sie dann Ihre Auswahl im neu berechneten Feld.

Mischling
quelle