gpt4 book ai didi

mysql - 在MySQL中,如何搜索包含数字的字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:20 25 4
gpt4 key购买 nike

这是一个表结构:表名 - UTEF_P

id   location   name
1 Place A AA/1
2 Place Z AA/2
3 Place T AA/3
4 Place Y AA/4
5 Place T AA/5
6 Place I AA/6
7 Place U AA/7
8 Place J AA/8
9 Place H AA/9
10 Place O AA/10

现在,如果我运行这个查询:- Select * from UTEF_P where name >= 'AA/1' and name <= 'AA/10' ,它只返回 2 条记录而不是 10 条记录。那么,有什么解决办法吗?

最佳答案

没错,字母顺序在数字上并不是特别直观。

我的建议是只包含所有可能的值:

Select *
from UTEF_P
where name IN ('AA/1', 'AA/2', 'AA/3', 'AA/4', 'AA/5',
'AA/6', 'AA/7', 'AA/8', 'AA/9', 'AA/10');

这样查询就可以被索引。或者,您可以提取子字符串并转换为数字,但性能可能不太好:

Select *
from UTEF_P
where substr(name from 1 for 3) = 'AA/'
and cast(substr(name from 4) as decimal) between 1 and 10;

最后但并非最不重要的一点是,需要在文本列中进行此类数字搜索可能是数据未以最佳格式存储的征兆。

关于mysql - 在MySQL中,如何搜索包含数字的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44796644/

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