我在mysql类型varchar中有字段,字段数据包含代码,代码就像树结构,用点(.)作为父子之间的分隔符。

示例 1215 有子 1215.0011215.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.0011215.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/

10-11 13:44