Яка альтернатива Instr у SQL Server?
В Oracle функція INSTR повертає позицію підрядка в рядку та дозволяє вказати початкову позицію та те, яке входження знайти. У SQL Server ви можете використовувати Функція CHARINDEX що дозволяє вказати початкову позицію, але не входження, або ви можете використовувати функцію, визначену користувачем.
Інший спосіб зробити це — за допомогою функції на кшталт InStr під назвою CHARINDEX у SQL Server наступним чином:
- ВИБЕРІТЬ РЕГІСТ.
- WHEN CHARINDEX('abc', [tblA]. col1) > 0 THEN [tblA]. col1.
- ІНШЕ ''
- КІНЕЦЬ.
- З табл.
Функція INSTR шукає в рядку підрядок і повертає ціле число, яке вказує на позицію символу в рядку, який є першим символом у цьому випадку. Функція SUBSTR повертає частину рядка, починаючи з позиції символу, довжина substring_length символів.
Функція LOCATE() повертає позицію першого входження підрядка в рядок. Функція INSTR() повертає позицію першого входження рядка в інший рядок.
Функція SUBSTRING() виділяє підрядок із рядка (починаючи з будь-якої позиції). Примітка. Позиція першого символу в рядку дорівнює 1. Примітка. Позиція останнього символу в рядку дорівнює -1. Примітка. Функції SUBSTR() і MID() дорівнюють функції SUBSTRING().
В Oracle функція INSTR повертає позицію підрядка в рядку та дозволяє вказати початкову позицію та те, яке входження знайти. У SQL Server ви можете використовувати функцію CHARINDEX, яка дозволяє вказати початкову позицію, але не входження, або ви можете використовувати функцію, визначену користувачем.