如何在sql中搜索所有字段

时间:2009-02-06 12:25:07

标签: sql

例如我的表格在这里>>

CREATE TABLE tProject(  
name nvarchar(1000),
Goal ntext, 
Activities ntext,
Result ntext,
MonName nvarchar(1000),
MonGoal ntext,
MonActivities ntext,
MonResult ntext,
TotalFund nvarchar(100))

如何在一次搜索所有ntext和nvarchar字段。

请帮助我

2 个答案:

答案 0 :(得分:0)

如果您的意思是针对匹配多个列的表创建一个select命令。

select * from tProject where name like '%text%' or Goal like '%text%' or...;

答案 1 :(得分:0)

你真的有1000个字符长的名字吗? MonName,MonGoal等列真的是星期一名字,星期一目标吗?如果是这样,他们应该被移动到另一个表并链接到这个表。 TotalFund听起来更像是数字列而不是nvarchar。根据这些问题的答案,您可能需要在学习一些基本的数据库设计实践之后重新设计数据库,然后再为时已晚。

无论如何,我认为这就是你要找的东西:

SELECT
    name,
    Goal 
    Activities,
    Result,
    MonName,
    MonGoal,
    MonActivities,
    MonResult,
    TotalFund
FROM
    tProject
WHERE
    name LIKE '%' + @search_string + '%' OR
    Goal LIKE '%' + @search_string + '%' OR
    Activities LIKE '%' + @search_string + '%' OR
    Result LIKE '%' + @search_string + '%' OR
    MonName LIKE '%' + @search_string + '%' OR
    MonGoal LIKE '%' + @search_string + '%' OR
    MonActivities LIKE '%' + @search_string + '%' OR
    MonResult LIKE '%' + @search_string + '%' OR
    TotalFun LIKE '%' + @search_string + '%'

你也可以查看全文字符串搜索,虽然我不知道这是否会使它变得更简单。