如何选择所有列数据以MySQL中的某些数字开头的地方

时间:2013-03-10 23:41:16

标签: mysql

这是我的表:

studentID   lastName  firstName
08422567    Brown     Susan
10356844    Black     Roger
10659475    White     Steven
09463729    Grey      Naomi

我正在尝试选择ID为10的所有学生,所以基本上是罗杰和史蒂文。

以下是我尝试的例子:

SELECT * FROM student WHERE studentID='10356844' AND  studentID='10659475'
SELECT * FROM student WHERE studentID='10356844,10659475'

我是否需要为此使用正则表达式,当然必须有一种更简单的方法来运行这样的查询?将来可能有100个以10开头的数字,我无法将所有这些添加到查询中,这就是为什么我在这里提出这个问题的难度,以便得到正确的解决方案。

2 个答案:

答案 0 :(得分:4)

不是正则表达式,而是WHERE studentID LIKE '10%'%是一个通配符,因此它将匹配任何ID为10的学生。

答案 1 :(得分:1)

这永远不会成功:

SELECT * FROM student WHERE studentID='10356844' AND  studentID='10659475'

因为没有行同时具有studentID的这两个值。不可能。你打算做的是:

SELECT * FROM student WHERE studentID='10356844' OR  studentID='10659475'