SQL Server LIKE, содержащий символы в скобках (переменная) - PullRequest
0 голосов
/ 22 февраля 2019

Как я могу искать в письме переменную, как это ?

Where Name Like '%@Variable%'

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Здравствуйте @ahmad_lababidi Добро пожаловать в stackoverflow,

Если это не символ ASCII и обычно требует столбец типа NVARCHAR и литерал со строкой N '' (за исключением случаев, когда кодировка принимает символы)

например, код UNICODE вашего персонажа - 55357, поэтому вы можете искать этот символ в своем запросе, как в следующем примере.

CREATE TABLE #FIND (NAME nvarchar(10));
INSERT INTO #FIND VALUES (N'?');

SELECT UNICODE(N'?')   --> 55357

SELECT *
FROM #FIND
WHERE NAME LIKE '%' + NCHAR(55357) + '%'
0 голосов
/ 22 февраля 2019

Вместо этого вам нужно использовать nvarchar и убедиться, что вы префикс вашей литеральной строки N, чтобы обозначить, что литеральная строка nvarchar:

DECLARE @variable varchar(1) = N'?';

SELECT *
FROM YourTable
WHERE YourColumn LIKE N'%' + @variable + N'%';
...