Используя ArcGIS 10.2.2, у меня есть строковое поле в таблице атрибутов SDE. Мне нужна помощь в создании запроса для выбора всех записей, которые имеют ноль в 6-м и 7-м символе поля (т. Е. 1995-0023A). Чтобы помочь мне лучше понять этот тип запроса, я также хотел бы видеть запрос, который выбирает записи с нулем только в 6-м символе поля. Затем я могу использовать предложение «и» и продублировать его, чтобы выбрать 7-й символ.
Я пробовал варианты, "FIELD1" LIKE '%00_______'
но он не выбирает записи с двойными нулями в правильном месте в строке.
"FIELD1" LIKE '_____00%'
? Это будет использовать пять символов подстановки, затем ваши два нуля, а затем еще один символ подстановки для остальной части строки. В какой базе данных это? SQL Server, Oracle, что-то еще? Пожалуйста, измените ваш вопрос, включив в него информацию из вашего комментария выше, а также информацию о вашей базе данных (выпуск версии и т. Д.)_
используется в некоторых базах данных как подстановочный знак с одним символом. Процент%
подстановочных знаков для всех мест персонажа.Ответы:
Подчеркивание
_
используется в некоторых базах данных как подстановочный знак с одним символом. Процент%
подстановочных знаков для всех мест персонажа.Поэтому что-то вроде
"FIELD1" LIKE '_____00%'
должно работать, в зависимости от типа базы данных. Это будет использовать пять символов подстановки, затем ваши два нуля, а затем еще один символ подстановки для остальной части строки.источник
Следующее выберет все записи, которые имеют ноль в позиции 6-го символа, а также в позиции 7-го символа.
Есть пять подчеркиваний, предшествующих нулю в первой части выражения, и затем шесть подчеркиваний, предшествующих нулю во второй части. Подчеркивание - это «подстановочный знак», который требует присутствия любого символа (может быть пробел, число, буква, символ и т. Д.). Подстановочный знак процента (%) позволяет что-либо следовать (также не позволяет ничего следовать - не требует никаких символов).
Более краткий способ сделать это
источник
Это зависит от СУБД, хотя в большинстве случаев должно работать следующее:
SUBSTRING (имя поля, 6, 2) = '00'
источник
SUBSTRING()
никогда не работал в ограниченном SQL ArcMap. Это где вы используете это, или вы используете это в другом месте? Не могли бы вы отредактировать свой ответ, чтобы расширить это?