SQL中是否有类似where*的命令
以下操作不起作用:SQL中是否有类似where*的命令,sql,Sql,以下操作不起作用: DECLARE @jake varchar(30); SET @jake='$%$^$%' SELECT [PlayerID], [Nickname], [UserName], [ClubNumber], [FirstName], [Email], [LastName], [DOB] FROM [Players] WHERE ***** LIKE'%'+@jake+'%' ORDER BY lastname ASC 我正在尝试对所有列使用*键,这
DECLARE @jake varchar(30);
SET @jake='$%$^$%'
SELECT [PlayerID], [Nickname], [UserName], [ClubNumber],
[FirstName], [Email], [LastName], [DOB]
FROM [Players]
WHERE ***** LIKE'%'+@jake+'%'
ORDER BY lastname ASC
我正在尝试对所有列使用*键,这样我就不必使用or命令列出所有列。有什么想法吗?列名没有通配符,至少不是传统意义上的通配符。没有。您必须详细说明要比较的字段,尽管您可以这样做
WHERE CONCAT(field1, field2, field3, ....) LIKE '%...%'
因为你正在做一个真正的whilecard,比如%…%,这将起作用。如果您使用的是其他类型,如“…%”或“…”,那么这将不起作用。我想这是t-SQL吧?没有直接的方法可以做到这一点。您必须查询信息模式数据库以获取列,然后构建一个动态SQL查询来执行。我建议您不要这样做,只需明确说明您在查询中使用的列。如果您使用的是MS SQL Server,那么在SQL Server Management Studio中,您可以右键单击对象资源管理器中的表,然后选择脚本表作为->选择到->新建窗口或剪贴板。。这将为您节省大量的键入时间,但您应该具体说明所使用的列。。即使您打算编写动态逻辑来更改返回的列。。对于希望返回不同列列表以保持简单的情况,您应该使用不同的视图。假设他使用的是SQL Server 2012或更高版本-早期版本没有CONCAT