在ORACLE中,用SQL语句搜索上周的记录

  今天做项目时,遇到了一个小问题,就是要求列出在上周录入的所有数据。在下愚钝,想了好一会才实现了这个功能,拿来和大家分享一下。
  具体语句为:
select t.* from 表名 t
where
时间字段>=(select trunc(sysdate-to_char(sysdate,'d')-7+2) from dual)
and
时间字段<=(select trunc(sysdate-to_char(sysdate,'d')+1) from dual)


该语句经测试有效,可以列出上一周的所有记录。

语句分析:
sysdate:系统当前时间

to_char(sysdate,'d'):当天是本周的第几天(在ORACLE中,每周的第一天默认为周日,即:如果是周3,则返回的值为4)

sysdate-to_char(sysdate,'d'):返回的值应是上周6的日期

-7:上周的上周的周6的日期

+2:上周的周1的日期(依据个人习惯,我习惯从周1开始算到周日作为一周)

sysdate-to_char(sysdate,'d')+1:返回上周的周日的日期

trunc():此函数用于去掉sysdate后面的分秒,具体用法可以在网络上找到相关资料

这就是在下做这个小功能的一些收获,欢迎大家讨论、指教

转载于:https://www.cnblogs.com/lyzxx/archive/2007/03/14/674701.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值