查询一个月以前的记录 id Name CheckDate 1 a 2009-1-1 2 a 2009-2-3 3 b 2009-1-10 我要找出一个月以前的所有记录,应该怎么写SQL语句? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把时间字段用函数转化成YYMM或YYYYMM格式.就知道了月份,再去找一个月前的记录就不难了。或者直接判断时间的大小select * from tablename where to_char(checkdate,'yyyy-mm-dd') >'需要比较的时间(yyyy-mm-dd)' select * from 表名 where to_char(checkDate,'yyyy-mm') = to_char(to_date(to_char(sysdate,'yyyy-mm'),'yyyy-mm') -1,'yyyy-mm')我试验过了,可以执行的 select * from YOURTABLE where to_char(to_date(CheckDate ,'yyyy-mm-dd'),'yyyy-mm-dd')>= to_char(add_months(sysdate,-1),'yyyy-mm-dd');试一下! select * from table where checkdate < trunc(sysdate, 'mm') and checkdate > trunc(add_months(sysdate, -1), 'mm') select * from table twhere t.CheckDate < ADD_MONTHS(to_date(to_char(sysdate,'dd/mm/yyyy'),'dd/mm/yyyy'), -1) Stored procedure 'p_mypro' may be run only in unchained transaction mode 求求求!! 一个关于数据库查询的问题 求语句 linux 平台上 oracle 相关问题 新手提个问题,谢谢帮忙! 查寻效率及索引方面请各位急救! 请好心人进来看看。这个排序的问题。 linux上安装oracle9i的两个烦人的问题。 请教一个模糊查询的sql语句! [Oracle][ODBC][Ora]ORA-12541: TNS:没有监听器是什么错误,如何解决? 如何使用分析函數 oracle 10g 中的实例连接问题
或者直接判断时间的大小select * from tablename where to_char(checkdate,'yyyy-mm-dd') >'需要比较的时间(yyyy-mm-dd)'
试一下!
select * from table where checkdate < trunc(sysdate, 'mm') and checkdate > trunc(add_months(sysdate, -1), 'mm')
where t.CheckDate < ADD_MONTHS(to_date(to_char(sysdate,'dd/mm/yyyy'),'dd/mm/yyyy'), -1)