oracle+日期格式大于,[Oracle] 日期处理

日期与字符串转换

在进行日期限定的比对时,可能会用到这个场景。

比如查找 某个日期栏位 大于"2013/12/12" 的所有数据。

"2013/12/12" 这是一个字符串, 要和日期比对,就要转换了。

1. 将字串转化为日期--使用 TO_DATE 函数

select TO_DATE('20131212','YYYYMMDD') from DUAL;

返回: 12-12月-13  (和本地安装oracle 的日期格式有关)

2. 将日期转化为字串-- TO_CHAR

select to_char(sysdate,'yyyy/mm/dd') from DUAL;

返回: 2013/12/12

以yyyy/mm/dd 显示当前日期。

sysdate 是当前日期。

获取日期的星期

可以使用 ww 或是 iw 来获取星期。比如:

select to_char(sysdate,'yyyy/ww') from DUAL;返回: 2013/50

第50周。

ww  和 iw 的区别是:

1. ww

这是 Oracle 计算星期的标准。 每年的 1 月1号作为这一年的第一天。(不管这一天是星期几)

比如:  2013/01/01 是星期二, 这一天作为2013年的第一天。

2. iw

这是ISO的标准。 星期一至星期日算一周,且每年的第一个星期一为第一周,

select to_char(TO_DATE('2013/12/01','yyyy/mm/dd'),'yyyy/iw') from DUAL;

这是看 2013/12/01是这一年的第多少周。

返回: 48

注意: 如果按每周从周日开始的话, 就要在日期上加 1 天了

select to_char(TO_DATE('2013/12/01','yyyy/mm/dd')+1,'yyyy/iw') from DUAL;返回 49 了。

==》  特别注意, 以上的获取周数的方法当遇到跨年的时候, 会出现问题。

细部参见:

前言

前言

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值