SQL запросы в ArcMap

0 голосов
спросил 06 Дек, 04 от Evgeny (200 баллов) в категории Программные продукты Esri

Здравствуйте, может, кто подскажет: как в ArcMap построить SQL-запрос, в котором есть строковые функции?

Например: LEFT ([Street_Name], 1)='A'

т.е. один в один, как в хэлпере. Таблица - атрибутивная для шейп файла. Данный запрос при проверке выдает: "ошибка в выражении".

Аналогичные действия в ArcView 3.X никаких проблем не вызывали image 

Спасибо.

 

 

4 Ответы

0 голосов
ответил 07 Дек, 04 от Grigoriy (127,020 баллов)

В построении SQL-запросов должны участвовать только SQL-выражения. VB-выражения в данном случае не работают. Сами выражения зависят от того в каком формате данные.

Для шейпа Ваш запрос будет таким:

"STREET_NAM" LIKE 'I%'

0 голосов
ответил 07 Дек, 04 от Evgeny (200 баллов)

Приведенный мною пример взят именно по причине его наличия в хэлпере "SQL reference". Причем там есть и замечание, что это выражение работает именно с шейпом и dbf.

Неужели, теперь в ArcGIS чтобы построить запрос, связанный с использованием функций над значением поля

(например, как в ArcView 3.X: ([Number].AsString.Right(2)="00") - выбрать записи, у которых в в числовом поле NUM два последних - нули, т.е. кратно 100)

необходимо создавать новое поле, которое будет получено из исходного через какую-то функцию и уже по этому полю строить запрос?

Круто!image

0 голосов
ответил 09 Дек, 04 от Grigoriy (127,020 баллов)

Интересно, где Вы нашли такой хелпер? - Мне так и не удалосьimage.

А к работе с SQL просто нужно привыкнуть.

Ваш последний пример тоже очень просто решается:

CAST ( "NUMB"  AS CHARACTER) LIKE '%00'

 

0 голосов
ответил 17 Дек, 04 от Evgeny (200 баллов)

Действительно, работает.

Спасибо!

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...