SQL是否能够按照以下方式执行某些操作: SELECT * FROM table WHERE column = everything
Rob*_*vey 24
SELECT * FROM table
Run Code Online (Sandbox Code Playgroud)
如果你动态生成SQL,那就是
SELECT * FROM table WHERE 1=1
Run Code Online (Sandbox Code Playgroud)
该1=1占位符可以让你回到所有记录,或者如果你返回一个子集或需要额外的条件语句替代的实际情况.
另请参见
为什么有人在SQL子句中使用WHERE 1 = 1 AND <conditions>?
Eug*_*eck 20
你的问题允许三个代表:
WHERE column IS NOT nULLSELECT * FROM table WHERE column LIKE '%$searchterm%'Ste*_*ins 11
什么都有?
我猜你可以使用通配符.
SELECT * FROM table WHERE column LIKE "%"
Run Code Online (Sandbox Code Playgroud)
Dub*_*Dub 10
对于出于某种原因(可能是动态SQL)需要查询中的列名的任何人,一个不错的选择是 SELECT * FROM table WHERE column = column
这与极为相似WHERE 1=1,但是它包含列名,这是我的解决方案所必需的,也许还需要其他名称。
小智 5
您可以在查询中使用列名本身:
SELECT * FROM TABLE WHERE COLUMN = COLUMN
Run Code Online (Sandbox Code Playgroud)
例如:
SELECT * FROM Student WHERE YEAR = YEAR
Run Code Online (Sandbox Code Playgroud)
或使用辅助参数:
SELECT * FROM Student WHERE YEAR = (CASE WHEN @year IS NOT NULL THEN @year ELSE YEAR END)
Run Code Online (Sandbox Code Playgroud)
所以你可以坚持“=”字符