要在多列

时间:2015-07-15 15:46:00

标签: sql sql-server sql-server-2008

我有一个名为Profile的表,其中包含以下列

1) ID
2) Name
3) Course
4) Address

我想搜索约翰数学迪拜"约翰是名字,数学是课程&迪拜是地址。此外,订单在搜索字符串中可以是随机的。

1 个答案:

答案 0 :(得分:0)

根据我的假设你正在寻找这个

declare @t table (
Id varchar(10),
Name varchar(10),
course varchar(10),
Address varchar(10))
insert into @t (Id,Name,course,Address)values (1,'john','math','dubai')

使用PATINDEX和COALESCE

select * from @t
WHERE PATINDEX('%john math dubai%',COALESCE(Name,' ') +' ' + COALESCE(course,' ') + ' ' +COALESCE(Address,' '))>0