如何使用单个搜索条件搜索所有必需的列SQL Server

时间:2015-10-09 11:31:11

标签: sql-server search conditional-statements multiple-columns

我有一个SQL Server中有多列的表/视图。我希望所有列都使用单个条件搜索所有行,而列数为25,例如

SELECT * FROM TABLE
WHERE  (COL_1, COL_2, COL_3,........COL_25) > 2  

请帮忙!

2 个答案:

答案 0 :(得分:0)

您必须单独检查每一列。

SELECT * FROM TABLE
WHERE  COL_1 > 2 AND COL_2 > 2 AND COL_3 > 2 ........AND COL_25 > 2 

答案 1 :(得分:0)

虽然我无法想象为什么,但是我们假设您在WHERE子句中只想要一个条件(没有AND或CASE)。

你可以这样做:

SELECT * FROM TABLE WHERE 0 = CHARINDEX
(
  '-',
  CAST(COL_1 - 3 AS nvarchar)
+ CAST(COL_2 - 3 AS nvarchar)
+ CAST(COL_3 - 3 AS nvarchar)
-- etc ...
)