mysql - 在 SQL 之间选择日期。其中日期的格式为 dd/mm/yyyy 并且是一个字符串
问题描述
在我的 sql 表中,我有一个格式为“DD/MM/YYYY”的字符串。如何选择日期范围?例如table.date BETWEEN '01/01/2019' and '31/10/2019'
?谢谢。
解决方案
您应该使用正确的数据类型存储日期。您必须转换日期,这通常会影响性能。
在 Postgres 中,您可以执行以下操作:
to_date(table.date, 'DD/MM/YYYY') >= '2019-01-01' AND
to_date(table.date, 'DD/MM/YYYY') < '2020-01-01'
在 MySQL 中,这将是:
date_format(table.date, '%d/%m/%Y') >= '2019-01-01' AND
date_format(table.date, '%d/%m/%Y') < '2020-01-01'
在任一数据库中,您还可以使用字符串操作,因为您想要全年:
table.date LIKE '%/2019'
推荐阅读
- python - Patreon API - AttributeError: 'dict' 对象在解析顾客时没有属性'data'
- flutter - android studio中第二个设备选择下拉菜单有什么用?
- android - 底部导航栏未显示 - Android
- r - R - 使用循环搜索一个变量和另一个变量并创建新的合并变量
- sqlite - 将 Android Room 生成的模式解析为实际的 SQLite 脚本
- next.js - 如何在 getServerSideProps 期间键入注释查询字符串
- windows-screensaver - 查看和编辑屏幕保护程序文件的内容
- reactjs - 在 MERN 堆栈中制作的 WEBRTC 视频应用程序中的 STUN/TURN 服务器出现问题
- python - 在 3D np 数组中搜索 1D np 数组
- c - sizeof 错误:不允许不完整的类型