java - 如何在Oracle中选择当月的记录?

标签 java oracle11g

我正在编写一个 Java 程序,我需要从 Oracle 数据库中选择当月的记录。任何时候我需要为我使用的当天选择记录:

select * from purchases where purchase_date = to_char(sysdate, 'DD-MON-YYYY')

我应该使用什么方法来选择当月的记录? 在表格上,日期显示如下:

10/4/2012 //for 4th October 2012

我试过了

select * from purchases where purchase_date like to_char(sysdate, 'MON-YYYY')

这当然没有选择任何东西,请协助。

最佳答案

如果 purchase_date 是 DATE。

select * 
from 
   purchases 
where 
   purchase_date >= trunc(sysdate,'mm')

如果 purchase_date 是 VARCHAR

select * 
from 
   purchases 
where 
   to_date(purchase_date,'mm/dd/yyyy') >= trunc(sysdate,'mm')

trunc(sysdate,'mm') 截断当前日期,保留月份和年份,因此 10/04/2012 08:58 被截断为 10/01/2012 00:00.

关于java - 如何在Oracle中选择当月的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12727602/

相关文章:

java - 如何将 DatePicker 设置为当前日期后一个月?

SQL*Plus 不执行 SQL Developer 执行的 SQL 脚本

oracle - 将字符串转换为字符的函数

java - 如何获取能够测试 DAO 类的数据源

java - 来自 Java 应用程序的 Apache cTAKES 逻辑

java - 按下按钮时执行的 Action

java - 方法定义中的 "throws ArithmeticException"只是装饰性的吗?

sql - 如何在 Oracle SQL 中解析 https 地址中的数字?

sql - Oracle SQL - 检查 sql 数据大小

sql - 如何在 Oracle 中通过 YTD 值计算 MTD 和 QTD