Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Возвращает положение первого экземпляра строки внутри другой строки.
Синтаксис
InStr([start, ]searched_string, search_string[, compare])
Аргументы
Начало
Числовое выражение, задающее начальную позицию для каждого поиска (необязательный). Если это значение не указано, поиск начинается с позиции первого символа. Если параметр start имеет значение null, возвращаемое значение функции не определено.
searched_string
Строковое выражение для поиска.
search_string
Строковое выражение, которое необходимо найти.
Сравнить
Целочисленное значение (не обязательно). Этот аргумент никогда не учитывается. Он определяется для совместимости с другими функциями Instr на других языках.
Возвращаемое значение
Целочисленное значение с начальной позицией String2 в String1.
Кроме того, функция InStr возвращает значения, перечисленные в следующей таблице в зависимости от условия:
| Condition | Возвращаемое значение |
|---|---|
| String1 имеет нулевую длину | ноль (0) |
| String1 содержит значение NULL | не определено |
| String2 имеет нулевую длину | начало |
| String2 содержит значение NULL | не определено |
| Значение String2 не найдено | ноль (0) |
| начало больше Len(String2) | ноль (0) |
Замечания
Предупреждение
Instr всегда выполняет сравнение без учета регистра.
пример
В следующем примере показано использование функции Instr и показаны различные сценарии результатов.
with
member [Date].[Date].[Results] as "Results"
member measures.[lowercase found in lowercase string] as InStr( "abcdefghijklmnñopqrstuvwxyz", "o")
member measures.[uppercase found in lowercase string] as InStr( "abcdefghijklmnñopqrstuvwxyz", "O")
member measures.[searched string is empty] as InStr( "", "o")
member measures.[searched string is null] as iif(IsError(InStr( null, "o")), "Is Error", iif(IsNull(InStr( null, "o")), "Is Null","Is undefined"))
member measures.[search string is empty] as InStr( "abcdefghijklmnñopqrstuvwxyz", "")
member measures.[search string is empty start 10] as InStr(10, "abcdefghijklmnñopqrstuvwxyz", "")
member measures.[search string is null] as iif(IsError(InStr( null, "o")), "Is Error", iif(IsNull(InStr( null, "o")), "Is Null","Is undefined"))
member measures.[found from start 10] as InStr( 10, "abcdefghijklmnñopqrstuvwxyz", "o")
member measures.[NOT found from start 17] as InStr( 17, "abcdefghijklmnñopqrstuvwxyz", "o")
member measures.[NULL start] as iif(IsError(InStr( null, "abcdefghijklmnñopqrstuvwxyz", "o")), "Is Error", iif(IsNull(InStr( null, "abcdefghijklmnñopqrstuvwxyz", "o")), "Is Null","Is undefined"))
member measures.[start greater than searched length] as InStr( 170, "abcdefghijklmnñopqrstuvwxyz", "o")
select [Results] on columns,
{ measures.[lowercase found in lowercase string]
, measures.[uppercase found in lowercase string]
, measures.[searched string is empty]
, measures.[searched string is null]
, measures.[search string is empty]
, measures.[search string is empty start 10]
, measures.[search string is null]
, measures.[found from start 10]
, measures.[NOT found from start 17]
, measures.[NULL start]
, measures.[start greater than searched length]
} on rows
from [Adventure Works]
В следующей таблице показаны полученные результаты.
| Поле в мерах | Результаты |
|---|---|
| в строке нижнего регистра найдены символы в нижнем регистре | 16 |
| в строке нижнего регистра найдены символы в верхнем регистре | 16 |
| искомая строка пуста | 0 |
| искомая строка имеет значение NULL | Не задано |
| строка поиска пуста | 1 |
| строка поиска пуста, начало 10 | 10 |
| искомая строка имеет значение NULL | Не задано |
| найдено от начало 10 | 16 |
| НЕ найдено от начало 17 | 0 |
| Значение NULL в начале | Не задано |
| начало больше искомой длины | 0 |