postgresql - 如何在 PostgreSQL 中获取两个日期范围之间的数据?
问题描述
我在 PostgreSQL SQL 中查询两个日期范围之间的数据,但它没有给我预期的结果。
select
pi_serial,
amount_in_local_currency,
status,
proforma_invoice_date
from proforma_invoice
where created_by = 25
and proforma_invoice_date BETWEEN '03/01/2018' and '09/03/2018'
order by proforma_invoice_date
现在查看查询和列 proforma_invoice_date。在此查询中,我正在搜索 03/01/2018 和 09/03/2018 之间的数据。日期格式为 (DD/MM/YYYY) 并且字符不同。我在这张照片中得到的结果。它只是根据唯一的一天给我结果,而不是整个日期格式。我尝试了很多日期转换,字符因日期而异。但我没有得到任何预期的结果
解决方案
您的查询绝对没问题。只需将其更改如下
select pi_serial, amount_in_local_currency, status, proforma_invoice_date
from proforma_invoice
where created_by = 25
and to_date(proforma_invoice_date, 'DD/MM/YYYY') BETWEEN to_date('03/01/2018', 'DD/MM/YYYY') and to_date('09/03/2018', 'DD/MM/YYYY')
order by proforma_invoice_date
推荐阅读
- go - Cookie returning validity error
- laravel - The page has expired due to inactivity. Why?
- ios - Programmatically created tableview delegate not working
- python - PyQt4 QWebPage 设置 Qtimer 用于额外时间渲染 Javascript
- javascript - 使用Typescript在nodejs中读取文件
- java - 检查Java版本是否大于Java中的某个迭代?
- vba - End(xlDown) 单行
- angular - TrackBy reuse across nested ngFors (nested or 2d arrays)
- reactjs - G-WAN servlet 可以将 ReactJS 单页应用程序部署到浏览器吗?
- jquery - datetime picker and input hidden type