2010-01-28 2 views
1

Когда я использую оператор . в запросе оператора LIKE, вы не выбираете ни одну из записей.Как использовать "." в запросе LIKE?

Мой запрос:

SELECT * 
FROM XSP_AssetList_V 
WHERE AccountID = '5d6b1eab-1697-de11-a2d1-00505617006d' 
AND PrinterSerialNumber 
LIKE '%13.12%' 

Как использовать . в LIKE?

+3

Пожалуйста, выкладываю значения записи, которые, по вашему мнению, должны быть выбраны. – Quassnoi

+0

У меня есть IP-адрес в записи, значение которого составляет 13.121.238.11 Как выбрать записи, значение которых составляет 13.121.238.11 с использованием SQL-запроса – xrx215

+0

Запрос на IP-адрес прекрасно работает в одной из моих случайных таблиц, как у вас есть. Вы уверены, что это не ваша учетная запись #, отбрасывающая ожидаемые результаты? –

ответ

4

В SQL односимвольный символ «_» не «.».

LIKE '%13_12%' 
  • % матч любая строка из нуля или более символов.
  • _ соответствует любому символу.
  • [] соответствует любому одиночному символу в указанном диапазоне (например, [a-f]) или задан (например, [abcdef]).
  • [^] соответствует любому одиночному символу не в указанном диапазоне (например, [^ a - f]) или задан (например, [^ abcdef]).
+0

Я думаю, что OP не ищет односимвольный шаблон. Он спрашивает, почему настоящие «.» символ не соответствует тому, где он должен. – Aaron

0

, что вы делаете, должны работать, может быть, ваш AccountID неправильно или комбинация обоих не возвращает ничего

create table #test(ip varchar(16)) 
insert #test values ('13.121.238.11') 
insert #test values ('13.124.254.128') 
insert #test values ('127.0.0.1') 

select * from #test where ip like '%13.12%' 
+0

сочетание обоих произведений SELECT * FROM XSP_AssetList_V WHERE AccountID = '5d6b1eab-1697-de11-a2d1-00505617006d' И PrinterSerialNumber LIKE '% 13%' покажет записей , но это не отображается recoreds SELECT * FROM XSP_AssetList_V WHERE AccountID = '5d6b1eab-1697-de11-a2d1-00505617006d' AND PrinterSerialNumber LIKE '% 13.12%' – xrx215