я следующая таблица в MS SQL Server:Выполнение запроса на выборку, где с помощью «LIKE» и «ISNULL» не дает мне ожидаемый результат в MS SQL Server
Value CustomerName Date
-------------------------------------------------------------------
1 Sam[Sammy] 2016-09-30 11:13:15.550
2 Rimi 2016-09-30 11:13:15.550
Я бегу следующее запрос для выборки данных:
SELECT *
FROM Table
WHERE CONVERT(varchar, convert(date,BillDate), 112) = '20160930' AND
CustomerName LIKE isnull(NULL,CustomerName)
у нас есть форма поиска клиента, который имеет поле даты и клиент пользователь Имя field.The имеет возможность поиска, используя имя клиента, но это необязательно.
Вышеприведенный запрос используется для поиска клиентов, использующих только поле Date. Теперь, когда мы запускаем запрос для поиска клиентов, он не приносит ожидаемого результата. Имя CustomerName с квадратными скобками '[]' в их именах отсутствует.
Мы не можем удалить квадратные скобки в именах.
Есть ли способ решить эту проблему?
Почему вы используете 'LIKE' для сравнения? Поскольку вы используете 'LIKE', вам нужно избегать символов, имеющих особое значение для' LIKE'. –
'LIKE isnull (NULL, CustomerName)' такое же, как 'CustomerName LIKE CustomerName'. Я уверен, что это не то, что вы имеете в виду? – Fred
Спасибо за ответ:) Это форма поиска, и я вижу «LIKE» как лучший вариант для поиска имен клиентов. Есть ли другой способ, конечно, оставляя «=»? Если мне нужно избегать персонажей, как это сделать в этом случае? – Bridget