Как экранировать квадратные скобки в предложении LIKE в SQL Server?
Здесь мы увидим, как экранировать квадратные скобки в предложении LIKE. Предложение LIKE используется для сопоставления с образцом в SQL с использованием подстановочных знаков, таких как %, ^, [] и т. д. Если мы попытаемся отфильтровать запись, используя предложение LIKE со строкой, состоящей из квадратных скобок, мы не получим ожидаемых результатов.
Например:
Для строкового значения Роми[Р]кумари в таблице. Если мы попытаемся применить LIKE 'Romy[R]%' к оператору select, он ничего не вернет.
Объяснение:
Квадратные скобки[] входят в число операторов подстановки, используемых в SQL с предложением LIKE. Он используется для сопоставления любого одиночного символа в указанном диапазоне, например ([bh]) или наборе ([ghijk]).
Мы можем экранировать квадратные скобки двумя способами:
- Экранирование с помощью еще одной квадратной скобки
- Побег с использованием Escape-символа
Шаг 1: Создайте базу данных
Базу данных можно создать с помощью команды CREATE.
Запрос:
CREATE DATABASE geeks;
Шаг 2: Использование базы данных
Используйте приведенный ниже оператор SQL, чтобы переключить контекст базы данных на гиков:
Запрос:
USE geeks;
Шаг 3: Определение таблицы
У нас есть следующая demo_table в нашей компьютерной базе данных.
Запрос:
CREATE TABLE demo_table( FIRSTNAME VARCHAR(20), LASTNAME VARCHAR(20), EMPCODE VARCHAR(20));
Шаг 4: Вставка данных в таблицу
Запрос:
INSERT INTO demo_table VALUES ("ROMY", "Kumari", "ROMY[78]KUM"), ("Rinkle", "Arora", "RINKLE[78}ARO"), ("Nikhil", "Kalra","NIKHIL[90]Kal"), ("Pushkar", "Jha", "PUSHKAR[91]JHA"), ("Sujata", "jha", "SUJATA[98]JHA"), ("Roshini", "Kumari","ROSHINI[78]");
Шаг 5: Для просмотра данных таблицы
Запрос:
SELECT * FROM demo_table;
Выход:
Способ 1 : использование дополнительной скобки
Синтаксис:
Для сопоставления «ROMY [78]»
SELECT * FROM table_name WHERE column_name LIKE "ROMY[[]78]%"
Запрос: чтобы соответствовать EMPCODE, имеющему [78]
SELECT * FROM demo_table WHERE EMPCODE LIKE "%[[]78]%"
Выход:
Способ 2: использование escape-символа
В этом методе мы должны указать символ с ключевым словом ESCAPE после предложения LIKE.
Синтаксис:
Для сопоставления «ROMY [78]»
SELECT * FROM table_name WHERE column_name LIKE "ROMY[78]%" ESCAPE "";
Запрос:
SELECT * FROM demo_table WHERE EMPCODE LIKE "%[78]%" ESCAPE "";
Выход: