SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[0-9]'上面的命令将在A =1和B中收集从数字0到9开始的数据。例如,它将收集111,112,113,114等。然而,与将其划分为RLIKE '^',RLIKE '^1‘等相比,上面的命令总是会遗漏一些数据,如下所示。
SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[0]'
SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[1]'
SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[2]'
SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[3]'
SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[4]'
SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[5]'
SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[6]'
SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[7]'
SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[8]'
SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[9]'在上面的示例中,
SELECT * FROM A, B, C, D WHERE A = 1 AND B RLIKE '^[1]'它将始终收集111,112,113,114,115,121,其中"115“和"121”是“SELECT * FROM A,B,C,D where A=1 and B RLIKE '^0-9'”不能看到的额外数据。使用REGEXP将产生相同的结果。如果有什么意见可以告诉我吗?谢谢。
We are using MySQL 5.1.39. 发布于 2014-08-06 05:01:01
这不应该有什么区别。你能给我确切的查询吗?上面的查询格式不正确,很难解释为什么115和121没有被选中。
https://stackoverflow.com/questions/25145998
复制相似问题