Sql 在多个列中查找一个条件
数据库noob在这里,您将如何在更多可能包含该词的列中查找搜索条件?例如,我有3个容器列,我正在查找其中某个容器编号/名称出现的记录。由于数据库的结构,容器号只是出现在其中一列中,但我需要它可能出现的所有记录。 对不起,英语不好, 干杯试试这个:Sql 在多个列中查找一个条件,sql,Sql,数据库noob在这里,您将如何在更多可能包含该词的列中查找搜索条件?例如,我有3个容器列,我正在查找其中某个容器编号/名称出现的记录。由于数据库的结构,容器号只是出现在其中一列中,但我需要它可能出现的所有记录。 对不起,英语不好, 干杯试试这个: SELECT * FROM @Table WHERE '|' + A + '|' + B + '|' + C + '|' like '%foobar%' 对于包含列a、B和C的表,是否将3的结果连接起来,并查看哪些行包含介于两者之间的foobar
SELECT *
FROM @Table
WHERE '|' + A + '|' + B + '|' + C + '|' like '%foobar%'
对于包含列a、B和C的表,是否将3的结果连接起来,并查看哪些行包含介于两者之间的foobar
例如:
DECLARE @Table TABLE (
A VARCHAR(100) NOT NULL,
B VARCHAR(100) NOT NULL,
C VARCHAR(100) NOT NULL
);
INSERT INTO @Table (A,B,C)
Values ('aaa', 'bb', 'cc'),
('foobar', 'bb', 'cc'),
('foo', 'bar', 'cc')
SELECT *
FROM @Table
WHERE '|' + A + '|' + B + '|' + C + '|' like '%foobar%'
将只返回第二行,因为它是唯一提到foobar的地方。
注:
。
关于这件事,你的确切问题是什么?为什么不使用
或
条件搜索所有三列?如果您在尝试中遇到困难,请将您的where条件与OR组合起来