gpt4 book ai didi

php - MySql 搜索忽略标点符号、符号和空格,而数据库中的数据具有特殊字符

转载 作者:行者123 更新时间:2023-11-29 05:33:32 26 4
gpt4 key购买 nike

我有一个巨大的 innoDB 表,包含超过 4000 万条记录,它使用 csv 文件(每次文件超过 100 万条数据)不断更新。我们使用 Load Data Infile 方法将数据导入表中。

该表有一个名为 part_number 的字段,它是每个库存项目的唯一标识符。该字段中的数据包含一个或多个特殊字符,如'-'、'_'、'#'、'$'、""等。

例如。 Abcd-1234

我们有一个工具供最终用户使用 part_number 作为关键字搜索此表。共有三种类型的搜索a) 精确匹配b) 包含c) 开始于

我的要求是向用户显示带有特殊字符的结果,即使他们搜索时没有使用“-”、“_”、“#”、“$”、“”等字符。

例如。用户应该能够搜索 Abcd1234 并获得结果 Abcd-1234。 用户应该能够搜索 Abcd-1234 并获得结果 Abcd1234 用户应该能够搜索 Abcd_1234 并获得结果 Abcd1234 和 Abcd-1234

注意:为了避免在插入和其他一些依赖项期间锁定表,我不得不将表保留为 InnoDB

添加一个新列来存储省略标点符号的 part_number 并针对该字段运行搜索是我想到的解决方案,但它会影响数据导入过程,这是 Not Acceptable ..

我曾尝试过 REGEXP,但未能成功满足我的标准。我的标准如下a) 用户可以使用或不使用特殊字符进行搜索b) part_number 字段中的数据可以在任何地方包含也可以不包含特殊字符c) 我们应该能够在任何情况下显示结果..

如果有办法解决这个问题,请告诉我......

最佳答案

请试试这个,它会帮助你

选择 REPLACE(cname, '-', '') as cna From country HAVING cna LIKE '%APRE29192%'

关于php - MySql 搜索忽略标点符号、符号和空格,而数据库中的数据具有特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12679278/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com