以下不起作用:
DECLARE @jake varchar(30);
SET @jake='$%$^$%'
SELECT [PlayerID], [Nickname], [UserName], [ClubNumber],
[FirstName], [Email], [LastName], [DOB]
FROM [Players]
WHERE ***** LIKE'%'+@jake+'%'
ORDER BY lastname ASC
我正在尝试对所有列使用*
,因此我不必使用或命令全部列出它们。有什么想法吗?
答案 0 :(得分:5)
不。你必须拼出你想要比较的字段,尽管你可以这样做
WHERE CONCAT(field1, field2, field3, ....) LIKE '%...%'
由于您正在使用%...%
之类的真正的智能卡,因此这将有效。如果您正在使用其他类型(LIKE '...%'
或LIKE '%...'
),则无效。
答案 1 :(得分:2)
列名没有通配符,至少不是传统意义上的。