FINDSTRING (выражение служб SSIS)
Возвращает местоположение заданного вхождения строки в символьном выражении. Возвращаемый результат является относительным положением вхождения в выражении, нумерация символов которого начинается с единицы. Значением параметра строки должно быть символьное выражение, а значением параметра вхождения должно быть целое число. Если строка не найдена, возвращается значение 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)