Фильтрация для конкретного символа в середине ссылки - TSQL - PullRequest
0 голосов
/ 03 июля 2018

Ребята, я пытаюсь создать запрос для определения заказов, которые имеют конкретный ссылочный номер или буквенный символ _.

Этот запрос возвращает результаты, но также показывает некоторые другие похожие результаты:

SELECT DISTINCT 
    O.ordernumber, R.refnumber 'PO Reference', I.invstatus 'InvoicStatus',
    O.ord_invoicestatus
FROM 
    reference R 
INNER JOIN 
    order O ON R.ordernumber = O.ordernumber
LEFT JOIN 
    invoice I ON I.ordernumber = O.ordernumber
WHERE 
    R.ref_num LIKE '%X_%'
    AND R.reftype = 'PO' 
    AND o.obillto LIKE 'LO%'
ORDER BY 
    2

Выделенная часть на скриншоте - это то, что я не хочу найти в моем наборе результатов.

Есть предложения?

Спасибо!

enter image description here

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Изменить это:

WHERE 
    R.ref_num LIKE '%X_%'

К

WHERE 
    R.ref_num LIKE '%X[_]%'
0 голосов
/ 03 июля 2018

Подчеркивание - это подстановочный знак в TSQL, похожий на%, но только для одного символа.

Вам придётся избежать подчеркивания, SQL Server Escape a Underscore аналогично некоторым примерам.

...