Текстовые функции доступны в меню Текстовая функция. Они применяются к текстовым свойствам и используются для форматирования результатов текстовых запросов. Эти функции доступны для каждого поставщика данных, кроме поставщиков растра, WFS и WMS.
При создании выражения для геопространственных элементов можно использовать следующие текстовые функции.
Функция | Определение | Синтаксис | Пример |
---|---|---|---|
CONCAT |
Объединение нескольких строк в одну. Для CONCAT используется любое число аргументов, в качестве которых могут использоваться любые типы свойств, кроме геометрических или растровых. Для возвращаемого значения используется тип данных "Строка". Используйте параметр "\n", чтобы добавить разрыв строки при использовании стандартных стилей. Используйте параметр "\P", чтобы добавить разрыв строки при использовании расширенных стилей. Эти параметры вводятся с учетом регистра. Чтобы добавить статические текстовые метки или пробелы, заключите их в одинарные кавычки. При использовании функции Concat с логическим свойством, операция дает результат типа 1/0 (а не True/False). |
CONCAT(Свойство, Свойство, ...) |
CONCAT(Имя, ‘ ‘Фамилия,’\P’ ‘Адрес: ‘, Номер_дома, ‘ ‘, Название_улицы, ‘ ‘, Суффикс) Этот пример дает подобный результат: Иван Иванов Адрес: 16 Исторический бульвар |
INSTR |
Поиск положения первого вхождения подстроки в другой строке. Укажите исходную строку в качестве первого аргумента и строку, поиск которой выполняется, в качестве второго аргумента. Возврат целого числа с использование типа данных Int64. |
INSTR(Свойство или значение текста, значение или свойство текста) |
INSTR(Владелец_участка,'поле) В данном примере выполняется поиск подстроки "поле" в строке владельца участка. Если имя владельца участка — "Smithfield", появится значение "6". |
LENGTH |
Возврат числа символов указанной строки как целого числа с использованием типа данных Int64. Не содержит замыкающих символов пробела. |
LENGTH(Свойство_текста) |
LENGTH(Имя) В данном примере выполняется поиск числа символов в свойстве "Имя". |
LOWER |
Преобразование всех букв текста в строчные. Для возвращаемого значения используется тип данных "Строка". |
LOWER(Свойство_текста) |
LOWER(Название_продукта) В данном примере все буквы названия продукта заменяются на строчные (например, СОЕДИНЕНИЕ ТРУБ в соединение труб). |
LPAD |
Заполнение левой части строки указанными символами. Для возвращаемого значения используется тип данных "Строка". Для LPAD можно использовать от двух до трех параметров. Если не указать аргумент текстового символа, используется символ пробела. |
LPAD(Свойство_текста, количество символов,'текстовый символ') |
LPAD(Высокий_приоритет,3,'*') В данном примере будет отображаться значение для свойства "Высокий_приоритет" (например, "Аварийный ремонт"), которому предшествует ***. |
LTRIM |
Обрезка символов в левой части текстовой строки. Для возвращаемого значения используется тип данных "Строка". |
LTRIM(Свойство_текста) |
LTRIM(Код_участка) В данном примере удаляются ведущие символы из идентификаторов участка. |
RPAD |
Заполнение правой части строки указанными символами. Для возвращаемого значения используется тип данных "Строка". Для RPAD можно использовать от двух до трех параметров. Если не указать аргумент текстового символа, используется символ пробела. |
RPAD(Свойство_текста, количество символов,'текстовый символ') |
RPAD(Дорогостоящий_ремонт,3,$) В данном примере будет отображаться значение свойства "Дорогостоящий ремонт" (например, "Полная модернизация"), за которым следует $$$. |
RTRIM |
Обрезка символов в правой части текстовой строки (замыкающие символы). Для возвращаемого значения используется тип данных "Строка". Чтобы удалить ведущие символы, используйте TRIM. См. TRIM. |
RTRIM(Свойство_текста) |
RTRIM(Код_участка) В данном примере удаляются символы, следующие за идентификаторами участка. |
SOUNDEX |
Возврат имен, которые на английском языке звучат как указанная текстовая строка. Для возвращаемого значения используется тип данных "Строка". Базовая RDBMS оценивает любые выражения, включая функцию SOUNDEX. Однако результат, возвращаемый с помощью поставщика MySQL, может отличаться от результата, полученного от других поставщиков. |
SOUNDEX(Свойство_текста) = SOUNDEX('текстовая строка') |
SOUNDEX(Фамилия) = SOUNDEX('Smith') В данном примере выполняется поиск фамилий, звучание которых похоже на Smith (например, "Smythe"). |
SUBSTR |
Вычитание подстроки из строки. Если начальное положение равно 0, оно рассматривается как 1. Если указать отрицательное значение для этого положительного, выражение рассчитывается в обратном порядке с конца строки. Для возвращаемого значения используется тип данных "Строка". Например, SUBSTR('ABCDEFG',-6,4) выполняет поиск BCDE. |
SUBSTR(Свойство_текста, начальное положение, длина подстроки) |
SUBSTR(Фамилия,0,4) |
TRANSLATE |
Замена последовательности символов другим набором символов. Для возвращаемого значения используется тип данных "Строка". Например, TRANSLATE('A GIS Specialist''s Guide to C#' ' ''#', '___') преобразуется в название руководства "A_GIS_Specialist_s_Guide_to_C_)". Для исходного названия требуется дополнительная одинарная кавычка в качестве символа перехода. |
TRANSLATE(Свойство текста,'от текста','к тексту') |
TRANSLATE(Свойство_комментария ' ''#', '___') В данном примере символы пробела, кавычек и # заменяются на символы подчеркивания. |
TRIM |
Обрезка ведущих символов в текстовой строке. Чтобы удалить замыкающие символы, используйте RTRIM. Для возвращаемого значения используется тип данных "Строка". Можно указать дополнительный аргумент: BOTH, LEADING или TRAILING. Если не указать символ обрезки, добавится пробел. См. RTRIM. |
TRIM('дополнительный_аргумент', Свойство_текста) |
TRIM(‘обрезка’, Код_участка] В данном примере выполняется обрезка замыкающих символов из кода участка. |
UPPER |
Преобразование всех букв текста в прописные. Для возвращаемого значения используется тип данных "Строка". |
UPPER(Свойство_текста) |
UPPER(Владелец_участка) В данном примере будет отображаться значение "John McMansion" как "JOHN MCMANSION". |