为什么我在if语句中出错?

时间:2012-08-07 12:27:05

标签: mysql

select if
(
(min(student_number)>1) or (max(student_number)<5500),'ok','Check Students'
)
from students;

3 个答案:

答案 0 :(得分:1)

您应该将OR替换为AND

select if
(
(min(student_number)>1) and (max(student_number)<5500),'ok','Check Students'
)
from students;

答案 1 :(得分:0)

试试这个:

select if(min_sn > 1 or max_sn < 5500, 'ok', 'Check Students')
from (select 
        min(student_number) as min_sn,
        max(student_number) as max_sn
      from students) x

这也会表现得相当不错。

注意:几乎可以肯定,您应该在测试中使用and而不是or。想一想......

答案 2 :(得分:0)

如果你想测试它在一个范围内,还有第三种选择。在两者之间使用。

从学生中选择if(student_number在1到5500之间,'Ok','Check Students');

只要表格中有任何行 - 这将有效。如果没有行,那么你将获得一个空集。