Выбрать слой по атрибуту с помощью оператора SQL LEN () в ArcMap?

9

Я хочу запросить длину столбца строки и подумал использовать:

LEN([ColumnName]) > 5

Тем не менее, это не работает вообще. Я запрашиваю таблицу в fGDB в ArcMap 10.1, отсюда и обозначение [ColumnName].

Кто-нибудь может мне помочь?

Сообщение об ошибке, которое я получаю от ArcGIS, заключается в том, что я использую недопустимый оператор SQL.

Томас Беккер
источник

Ответы:

17

Для вычисления длины в символах строкового выражения используйте CHAR_LENGTH(string_exp)

Разделителями имен полей для файловой базы геоданных являются двойные кавычки (не квадратные скобки).

Так что это должно работать:

CHAR_LENGTH(“ColumnName“) > 5

Вот ссылка на SQL для выражений запросов, используемых в ArcGIS .

Jens
источник
1

Что если вы добавите в свою таблицу новое поле с именем, например, «str_length», а затем заполните его значением длины нужного вам поля?

str_length = len(columnname)

Затем сделайте свой выбор на новом рассчитанном поле.

mixedbredie
источник