Я нахожу это довольно странным на Microsoft SQL Server:
SELECT * FROM deliveries WHERE code LIKE '01999195000%'
-- 9 rows returned. Works.
DECLARE @a VARCHAR(10)
SET @a='01999195000%'
SELECT * FROM deliveries WHERE code LIKE @a
-- 0 rows returned? Why not?
SET @a = '01999195000'
SELECT * FROM deliveries WHERE code LIKE @a + '%'
-- 9 rows returned. Works.
В чем разница между поиском @a, который включает символ%, и тем, к которому нет, но добавлен символ '%'?
Если бы кто-нибудь из вас, гуру SQL, мог поделиться своими мыслями, это было бы замечательно.