我在mysql类型varchar中有字段,字段数据包含代码,代码就像树结构,用点(.)作为父子之间的分隔符。
示例 1215
有子 1215.001
和 1215.002
这是数据库中每一行的数据
ID | kode
1 | 1215
2 | 1215.001
3 | 1215.001.001
4 | 1215.002.001
5 | 1215.002
6 | 1215.002.001
如何获得2级代码?
它的意思只是代码
1215.001
和 1215.002
已尝试使用此查询
select * from `kegiatan` where `kode` LIKE '1215.%';
但它让所有代码都以
1215
开头,例如:1215.001.001
最佳答案
使用正则表达式。
select * from `kegiatan` where `kode` REGEXP '^1215\.[^\.]+$';
这将匹配所有内容:
That starts with ( "^" )
the string "1215.",
followed by at least one character that is a member of the set "NOT ." ("[^\.]+")
followed by the end of the string.("$")
关于mysql - 使用点分隔符查询 MySQL LIKE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10548327/