gpt4 book ai didi

mysql - 高级 MySQL 模式匹配(超越 LIKE...%)

转载 作者:行者123 更新时间:2023-11-29 10:51:35 27 4
gpt4 key购买 nike

这是我当前的 MySQL my_table 的示例...

 id          name       code
1 111 XXXX123456XXXXXXXXXXXXXX
2 222 XXXX133456XXXXXXX5XXXXXX
3 333 XXXX123454XXX11XXXXXXABC

代码是 24 个字符的十六进制值,其中 X 是通配符。

我需要编写一个查询,该查询将根据代码返回名称,而无需通配符值 X。给定的 CODE 值将是准确的,但它应该就地比较字符串,X 可以匹配任何字符。

例如:

从 my_table 中选择名称,其中代码 = '012312345611111111111111';

 name
111

从 my_table 中选择名称,其中代码 = '000013345622222225123456';

 name
222

从 my_table 中选择名称,其中代码 = '000123454ABC11234567FABC';

 name
333

最佳答案

您可以使用 like 来实现此目的。您知道 _ 通配符吗?

select t.*
from t
where @YourCode like replace(t.code, 'X', '_');

当然,您也可以使用正则表达式。正则表达式为:concat('^', Replace(t.code, 'X', '.'), '$')

关于mysql - 高级 MySQL 模式匹配(超越 LIKE...%),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43647130/

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