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

本文关键字:通配符 数据库 搜索 | 更新日期: 2023-09-27 18:31:32

我有一个车辆的VIN号数据库。

有些*字符,因为它可以是任何数字或字母。 但是有些是特定的。

例如

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

我现在正在寻找一个字符串,可以让表中的*成为通配符。

例如,如果有人搜索TuskTask它会在数据库中找到T*sk

在 C# 中

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

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

如果您查看 LIKE 的文档,您会发现您需要的通配符是_(下划线)。通常,SQL中的运算符可以双向使用(即field LIKE constantconstant LIKE field都可以)。因此,在不知道表结构的情况下(这实际上会很有帮助),您的查询将如下所示:

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

我不确定这里的性能,但希望这应该能让你朝着正确的方向开始。