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


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) 

См. также

Справочник

Другие ресурсы