MySQL剥离非数字字符进行比较

2021-11-20 00:00:00 regex mysql

我希望在表中查找与用户输入的特定数字相匹配的记录.因此,用户可能会输入 12345,但这可能是数据库中的 123zz4-5.

I'm looking to find records in a table that match a specific number that the user enters. So, the user may enter 12345, but this could be 123zz4-5 in the database.

如果 PHP 函数在 MySQL 中运行,我想这样的事情会起作用.

I imagine something like this would work, if PHP functions worked in MySQL.

SELECT * FROM foo WHERE preg_replace("/[^0-9]/","",bar) = '12345'

仅使用 MySQL 的等效功能或方法是什么?

What's the equivalent function or way to do this with just MySQL?

速度并不重要.

推荐答案

虽然它不漂亮并且显示的结果不匹配,但这有帮助:

While it's not pretty and it shows results that don't match, this helps:

SELECT * FROM foo WHERE bar LIKE = '%1%2%3%4%5%'

我仍然想找到与原始问题中的项目类似的更好的解决方案.

I would still like to find a better solution similar to the item in the original question.

相关文章