用户输入和数据库包含'%',并使用LIKE'%xx%'在数据库中搜索输入

l
SELECT 
    BrokerData.BrokerName,
    Product.BAID, 
    Product.ProductName,
    Product.ProductName,
    Product.Type,
    Product.RevenueFactor,
    Product.VolumeFactor,
    Product.PriceFactor 
FROM Product
INNER JOIN BrokerData 
ON Product.BAID = BrokerData.BAID 
WHERE (ProductName Like '%xxx%' OR BaseProductName Like '%xxx%');

该查询将帮助用户搜索包含“ xxx”的产品。但是,数据库在某些产品名称中包含%,因此,当用户输入为1%时,它将给出包含“ 1”的产品。

我尝试使用CONTAINS,但这并没有帮助。以下是我使用CONTAINS的查询,但它也无法正常工作:

SELECT
    BrokerData.BrokerName,
    Product.BAID,
    Product.ProductName,
    Product.ProductName, 
    Product.Type,
    Product.RevenueFactor,
    Product.VolumeFactor,
    Product.PriceFactor
FROM Product
INNER JOIN BrokerData 
ON Product.BAID = BrokerData.BAID
WHERE CONTAINS ((ProductName Like '%xxx%') 
OR CONTAINS (BaseProductName Like '%xxx%'));
Guan Chuan

你可以这样做。将您的用户输入替换为%到\%

示例代码示例:

CREATE TABLE data_with_percent(
data VARCHAR(255)
)

INSERT INTO data_with_percent VALUES('1%');
INSERT INTO data_with_percent VALUES('2%');
INSERT INTO data_with_percent VALUES('1');

SELECT * FROM data_with_percent WHERE data LIKE CONCAT('%',REPLACE('1%', '%', '\%'),'%');

测试如下:SQL Fiddle

谢谢你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 PrimeNG 日历在数据库中输入数据

如何使用多个用户输入搜索数据库

如何使用用户在 Django 中的输入将值存储在数据库中?

在数据库中搜索Like Hibernate的Integer

使用prepare语句在数据库中搜索数据

使用JSP在数据库中搜索数据

如何使用当前保存在数据库中的先前输入的数据填充输入字段?

使用FlexibleSearchService Hybris在数据库表中搜索

在数据库中搜索文本(使用Hibernate Search)

在SQLite中使用乱码在数据库中搜索

使用php在数据库上重复输入

使用PHP和HTML输入搜索Sqlite数据库

我想使用 c# 或 sql 搜索带有掩码 (XXXX-XX-XX) 日期的数据库表

Laravel使用外键将动态输入保存在数据库中

如何在数据库变量而不是查询中输入的参数上使用通配符(%)?

使用用户输入对我的数据库进行查询

在数据库中输入分数

如何在数据库中搜索列以匹配用户输入

在数据库中搜索与用户输入内容匹配的记录

使用在文本框中输入的多个关键字搜索 SQL 数据库

使用Powershell创建新用户和数据库

如何使用Node JS、Postgres和dust js在数据库中搜索数据

如何使用 reactjs 从 firestore 数据库中搜索用户

如何使用ng-repeat通过动态生成的输入字段在数据库中插入数据?

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

如何对数据库中的多个输入使用插入

如何使用PHP在MySQL数据库中输入日期

如何使用HTML中的选择框在数据库中搜索特定用户并在表上显示该信息?

如何使用Hibernate中的Example类在数据库中搜索相似实体