访问 SQL Like * 替代 MS SQL 服务器

Access SQL Like * alternative in MS SQL server

我正在做一个有搜索引擎的项目。正如我们在 MS ACCESS 中所知,我们可以在条件字段下的查询中使用“*”来检索所有记录。 在 SQL 服务器中,我需要相同的技术。我用 WHERE 子句尝试了不同的 LIKE。但是我仍然没有得到我想要的确切结果。

在这个项目中,我有 3 个文本框(类别、项目、位置)。如果用户将其中任何一个留空。我想检索所有记录。

我需要这样的东西:

  string t1,t2,t3;
    if(!String.IsNullOrEmpty(txtCategory.Text))
    t1=txtCategory.Text;
    else
    t1="*";
    if(!String.IsNullOrEmpty(txtItem.Text))
    t2=txtItem.Text;
    else
    t2="*"
    if(!String.IsNullOrEmpty(txtLoc.Text))
    t2=txtLoc.Text;
    else
    t3="*";
    -
    -
    -
    // in a function i have this :

    SELECT * FROM Table_Items WHERE Category='"+t1+"' AND Item='"+t2+"' AND Location='"+t3+"'"

将您的 * 更改为 %

... Where Category Like "'+t1+"' and Item Like '"+t2+"' ...

在 ms sql 服务器中,您可以使用相同的技术,但您应该使用 % 而不是 *。

例如:

%:表示任意

a%:所有以a

开头的字符串

%z:所有以z结尾的字符串

那么,您的代码应该如下所示:

// codes here

t3="%";

WHERE ColumnName LIKE t3
or
Where ColumnName LIKE '%'

希望对你有所帮助。