搜索在数据库中使用 * 作为通配符
本文关键字:通配符 数据库 搜索 | 更新日期: 2023-09-27 18:31:32
我有一个车辆的VIN号数据库。
有些*
字符,因为它可以是任何数字或字母。 但是有些是特定的。
例如
VF1***HFX**8*****
我现在正在寻找一个字符串,可以让表中的*
成为通配符。
例如,如果有人搜索Tusk
或Task
它会在数据库中找到T*sk
。
在 C# 中
不确定你在哪个SQL服务器上,但希望这适用于任何(在MSSQL上测试)。
如果您查看 LIKE 的文档,您会发现您需要的通配符是_
(下划线)。通常,SQL中的运算符可以双向使用(即field LIKE constant
和constant LIKE field
都可以)。因此,在不知道表结构的情况下(这实际上会很有帮助),您的查询将如下所示:
SELECT * FROM Vehicles WHERE 'V123456789' LIKE REPLACE(Vehicles.Vin,'*','_')
我不确定这里的性能,但希望这应该能让你朝着正确的方向开始。