我有车辆的vin数据库。
有些人将*
作为字符,因为它可以是任何数字或字母。但有些是具体的。
E.g。
VF1***HFX**8*****
我现在正在寻找一个字符串,允许表中的*
为通配符。
E.g。如果有人搜索Tusk
或Task
,则会在数据库中找到T*sk
。
在C#中
答案 0 :(得分:2)
不确定您使用的SQL服务器,但希望这适用于任何(在MSSQL上测试)。
如果查看LIKE的文档,您会看到所需的通配符是_
(下划线)。通常,SQL中的运算符可以两种方式使用(即field LIKE constant
和constant LIKE field
都可以使用)。所以,在不知道你的表结构的情况下(实际上它会非常有用),你的查询看起来像这样:
SELECT * FROM Vehicles WHERE 'V123456789' LIKE REPLACE(Vehicles.Vin,'*','_')
我不确定这里的表现,但希望这会让你开始朝着正确的方向前进。