gpt4 book ai didi

Mysql查找含有通配符的记录

转载 作者:行者123 更新时间:2023-11-29 03:07:15 26 4
gpt4 key购买 nike

我有一张包含数万个 VIN 号码的表格。他们中的许多人都是这样看的:
6MMTL#A423T######
WVWZZZ3BZ1?######
MPATFS27H??######
SCA2D680?7UH#####
SAJAC871?68H06###



# 代表一个数字,而 ?一个字母 (A-Z)。

我想搜索以下内容:6MMTL8A423T000000。

我正在努力找出逻辑。我应该使用一个函数吗?我应该使用 mysql 正则表达式吗?

最佳答案

正则表达式匹配是解决此问题的好方法。您需要做的是将 vin 表达式转换为有效的正则表达式,以表示您所指示的逻辑。这是一个简单的方法:

replace(replace(vin,'#','[0-9]'),'?','[A-Z]')

这会将 6MMTL#A423T###### 转换为 6MMTL[0-9]A423T[0-9][0-9][0-9][0 -9][0-9][0-9]。现在使用这个转换后的格式,做一个正则表达式匹配查询:

select vin
from vins
where '6MMTL8A423T000000' regexp replace(replace(vin,'#','[0-9]'),'?','[A-Z]')

示例输出:6MMTL#A423T######

演示:http://www.sqlfiddle.com/#!2/ee4de/4

关于Mysql查找含有通配符的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13425501/

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