搜索在数据库中使用*作为通配符

时间:2014-11-23 21:02:08

标签: c# search wildcard reverse

我有车辆的vin数据库。

有些人将*作为字符,因为它可以是任何数字或字母。但有些是具体的。

E.g。

VF1***HFX**8*****

我现在正在寻找一个字符串,允许表中的*为通配符。

E.g。如果有人搜索TuskTask,则会在数据库中找到T*sk

在C#中

1 个答案:

答案 0 :(得分:2)

不确定您使用的SQL服务器,但希望这适用于任何(在MSSQL上测试)。

如果查看LIKE的文档,您会看到所需的通配符是_(下划线)。通常,SQL中的运算符可以两种方式使用(即field LIKE constantconstant LIKE field都可以使用)。所以,在不知道你的表结构的情况下(实际上它会非常有用),你的查询看起来像这样:

SELECT * FROM Vehicles WHERE 'V123456789' LIKE REPLACE(Vehicles.Vin,'*','_')

我不确定这里的表现,但希望这会让你开始朝着正确的方向前进。