SUBSTRING (службы SSIS)
Возвращает часть символьного выражения, начинающегося с указанной позиции и имеющего указанную длину. Параметр position и параметр length должны иметь значение, выраженное целым числом.
Синтаксис
SUBSTRING(character_expression, position, length)
Аргументы
character_expression
Символьное выражение, из которого извлекаются символы.position
Является целым числом, указывающим, где начинается подстрока.length
Является целым числом, указывающим длину подстроки в виде числа символов.
Типы результата
DT_WSTR
Замечания
SUBSTRING использует однобазовый индекс. Если position равно 1, то подстрока начинается с первым символом в character_expression.
Функция SUBSTRING работает только типом данных DT_WSTR. Аргумент character_expression, который является строковым литералом или столбцом данных, принадлежащих типу DT_STR, неявным образом приводится к типу данных DT_WSTR перед тем, как функция SUBSTRING осуществляет выполнение операции. Прочие типы данных должны быть явно приведены к типу данных DT_WSTR. Дополнительные сведения см. в разделах Типы данных служб Integration Services и Приведение (службы SSIS).
Функция SUBSTRING возвращает нулевой результат при нулевом аргументе.
Переменные и столбцы могут использовать все аргументы выражения.
Аргумент length может превышать длину строки. В этом случае функция возвращает остаток строки.
Примеры
Этот пример возвращает два символа, начинающихся с 4, из строкового литерала. Возвращаемый результат — «ph».
SUBSTRING("elephant",4,2)
Этот пример возвращает остаток строкового литерала, начиная с четвертого символа. Возвращаемый результат — «phant». Превышение аргументом length размера строки не является ошибкой.
SUBSTRING ("elephant",4,50)
Этот пример возвращает первую букву из столбца MiddleName.
SUBSTRING(MiddleName,1,1)
Этот пример использует переменные в аргументах position и length. Если Start равно 1, и Length равно 5, то функция возвращает первые пять символов столбца Name.
SUBSTRING(Name,@Start,@Length)
Этот пример возвращает четыре последних символа переменной PostalCode , начиная с шестого символа.
SUBSTRING (@PostalCode,6,4)
Этот пример возвращает строку с нулевой длиной из строкового литерала.
SUBSTRING ("Redmond",4,0)