FINDSTRING (выражение служб SSIS)

Применимо к: SQL Server Integration Runtime служб SSIS в Фабрика данных Azure

Возвращает местоположение заданного вхождения строки в символьном выражении. Возвращаемый результат является относительным положением вхождения в выражении, нумерация символов которого начинается с единицы. Значением параметра строки должно быть символьное выражение, а значением параметра вхождения должно быть целое число. Если строка не найдена, возвращается значение 0. Если строка встречается меньшее количество раз, чем определено аргументом, то возвращается значение 0.

Синтаксис

  
FINDSTRING(character_expression, searchstring, occurrence)  

Аргументы

character_expression
Символьная строка, в которой производится поиск.

searchstring
Искомая символьная строка.

occurrence
Целое число со знаком или без него, указывающее, какое по порядку вхождение searchstring следует искать.

Типы результата

DT_I4

Комментарии

Функция FINDSTRING работает только с типом данных DT_WSTR. Аргументыcharacter_expression и searchstring , которые являются строковыми литералами или столбцами данных, содержащими данные типа DT_STR, неявно приводятся к типу данных DT_WSTR до того, как функция FINDSTRING выполнит свою операцию. Прочие типы данных должны быть явно приведены к типу данных DT_WSTR. Дополнительные сведения см. в разделах Типы данных служб Integration Services и Приведение (выражение служб SSIS).

Функция FINDSTRING возвращает NULL, если или character_expression , или searchstring равен NULL.

Для получения относительного положения первого вхождения в аргументе occurrence следует использовать 1, для второго вхождения — 2 и т. д.

Аргумент occurrence должен быть целым числом, значение которого больше 0.

Примеры выражений

В данном примере используется строковый литерал. Он возвращает значение 11.

FINDSTRING("New York, NY, NY", "NY", 1)   

В данном примере используется строковый литерал. Так как строка «NY» встретилась меньше двух раз, то возвращается значение 0.

FINDSTRING("New York, NY, NY", "NY", 3)   

В этом примере используется столбец Name . Он возвращает местоположение второго значения "n" в столбце Name. Возвращаемый результат зависит от значения в столбце Name. Если Name содержит Anderson, функция возвращает значение 8.

FINDSTRING(Name, "n", 2)   

В этом примере используются столбцы Name и Size . Он возвращает местоположение самого левого символа значения Size в столбце Name . Возвращаемый результат зависит от значений столбца. Если Name содержит Mountain,500Red,42 и Size содержит 42, возвращаемый результат равен 17.

FINDSTRING(Name,Size,1)   

См. также

REPLACE (выражение служб SSIS)
Функции (выражение служб SSIS)