gpt4 book ai didi

php - MySQL 选择单元格值等于数字的行,其中非数字字符被删除

转载 作者:行者123 更新时间:2023-11-29 09:33:43 25 4
gpt4 key购买 nike

问题:某些产品 sku 看起来像“67062-4D”或“MOD602-04-N”。因此,任务是当用户使用搜索时通过数字查找 sku,例如“67062-4D”通过“670624”,“MOD123-45-N”通过“12345”。
解决方案:我设法通过在 php 中重复 [^0-9]*1 创建一个正则表达式来解决这个问题(php 和 mysql 正在使用中),但我真的想知道通用或通用的在哪里更自然的解决方案。否则只需发布此解决方案。此示例查找“MOD123-45-N”

SELECT product_id WHERE sku REGEXP '^[^0-9]*1[^0-9]*2[^0-9]*3[^0-9]*4[^0-9]*5[^0-9]*$'

更新:版本10.1.40-MariaDB

最佳答案

您可以使用REGEXP_REPLACE从字符串中删除所有非数字字符,然后将其与输入数字进行比较,例如

SELECT product_id WHERE REGEXP_REPLACE(sku, '[^0-9]', '') = '12345'

Demo on dbfiddle

关于php - MySQL 选择单元格值等于数字的行,其中非数字字符被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58146243/

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