Поделиться через


FINDSTRING (выражение в SSIS)

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

Синтаксис

  
FINDSTRING(character_expression, searchstring, occurrence)  

Аргументы

character_expression
Строка символов, в которой осуществляется поиск.

searchstring
Строка символов для поиска.

происшествие
Подписанное или беззнаковое целое число, указывающее, какое вхождение searchstring нужно сообщить.

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

DT_I4

Замечания

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

FINDSTRING возвращает значение NULL, если character_expression или searchstring имеет значение NULL.

Используйте значение 1 в аргументе вхождения , чтобы получить индекс первого вхождения, 2 для второго вхождения и т. д.

Вхождение должно быть целым числом со значением больше 0.

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

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

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

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

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

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

FINDSTRING(Name,"n", 2)   

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

FINDSTRING(Name,Size,1)   

См. также

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