sql - 按生日 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”附近:语法错误。
解决方案
日期输入不正确。您没有提及您使用的是哪个数据库,所以我将参考 SQL 标准。你应该:
- 用单引号将文字日期括起来。
- 将单词
DATE
添加到日期值。 - 不需要额外的括号。
您的 SQL 查询应如下所示:
SELECT name, forname, bdate
FROM student
WHERE bdate between date '1990-01-01' and date '1999-12-31'
ORDER BY id
推荐阅读
- python - scipy.io.wavfile.read 中的 EOF
- reactjs - React 不会在状态更改时重新渲染组件
- reporting-services - 检查从 SSDT/SSRS 发送到服务器的渲染 SQL
- c++ - 是否可以读取和写入头文件?
- ios - Travis 以 65 代码退出,无法创建捆绑实例
- python - 在 Jupyter 中使用 unixODBC 连接到 SQL Server 数据库
- formatting - 无法通过与 gnu plot 中的下轴链接来获取上轴值
- powershell - Import-DbaCsv 工具中的 -Encoding 参数有哪些选项?
- swift - Swift - 按下时标签栏控制器不显示
- javascript - 轮播滑块不更改图像