我在 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 和不包含但附加了 '%' 的 @a 之间有什么不同?
如果你们中的任何一位 SQL Guru 可以分享您的想法,那就太好了。