按生日sql排序

时间:2019-01-11 19:55:13

标签: sql

我正在处理student桌上,我想选择90年代出生的学生。这就是我要这样做的方式:

dbGetQuery(con, 
    "SELECT name, forname, bdate 
    FROM student 
    WHERE (bdate < 1990.01.01) OR (bdate > 1999.12.31) 
    ORDER BY id"
)

但我收到此错误:

  

result_create(conn @ ptr,statement)中的错误:“ .01”附近:语法错误。

1 个答案:

答案 0 :(得分:4)

日期输入不正确。您没有提到正在使用哪个数据库,所以我将参考SQL标准。您应该:

  • 将文字日期括在单引号中。
  • 在日期值前加上单词DATE
  • 不需要多余的括号。

您的SQL查询应如下所示:

SELECT name, forname, bdate 
FROM student 
WHERE bdate between date '1990-01-01' and date '1999-12-31'
ORDER BY id