Невозможно найти квадратную скобку [символ в SQL - PullRequest
1 голос
/ 21 февраля 2012

Я пытаюсь выбрать записи, которые начинаются с этой строковой последовательности 'Dear [User Name]'. Следующий пункт где:

where Message like 'Dear [UserName]%'

ничего не возвращает.
В чем проблема и в чем ее решение?

Примечание 1: поле [Сообщение] начинается с этого текста.
Примечание 2: тип поля [Сообщение] является текстовым, но та же проблема возникает с полями varchar.

Ответы [ 2 ]

2 голосов
/ 21 февраля 2012

попробуйте

 where Message like 'Dear \[User Name\]' escape '\';
2 голосов
/ 21 февраля 2012

[] - это оператор сопоставления символов подстановки, который «сопоставляет любой отдельный символ в указанном диапазоне или наборе, указанном в скобках». http://msdn.microsoft.com/en-us/library/ms179884.aspx

Чтобы получить правильное соответствие, вы можете написать:

where Message like 'Dear [[]User Name]%'
...