ITPUB论坛 » Oracle开发 » 如何获得月初日期
新一届的微软MVP评选已经开始,欢迎各位推荐!
2008-7-5 20:07 wlzcl263
如何获得月初日期

比如说我现在有个日期'2008-7-5'如何能够直接得到'2008-7-1'这个日期,前面的日期是不确定的是个参数...急求!!!

2008-7-5 20:08 wlzcl263
并不知道会选择几号.所以直接用前面的日期去减4肯定是不行的.谢谢大家!!!

2008-7-5 20:18 caizhuoyi
trunc

SQL> SELECT sysdate,trunc(SYSDATE,'mm') FROM dual;

SYSDATE        TRUNC(SYSDATE,
-------------- --------------
05-7月 -08     01-7月 -08

2008-7-5 20:27 jvkojvko
[quote]原帖由 [i]caizhuoyi[/i] 于 2008-7-5 20:18 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10867320&ptid=1017326][img]http://www.itpub.net/images/common/back.gif[/img][/url]
SQL> SELECT sysdate,trunc(SYSDATE,'mm') FROM dual;

SYSDATE        TRUNC(SYSDATE,
-------------- --------------
05-7月 -08     01-7月 -08 [/quote]

同意

2008-7-5 20:28 jvkojvko
[quote]原帖由 [i]caizhuoyi[/i] 于 2008-7-5 20:18 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10867320&ptid=1017326][img]http://www.itpub.net/images/common/back.gif[/img][/url]
SQL> SELECT sysdate,trunc(SYSDATE,'mm') FROM dual;

SYSDATE        TRUNC(SYSDATE,
-------------- --------------
05-7月 -08     01-7月 -08 [/quote]

同意

2008-7-5 20:37 wlzcl263
谢谢呀!

2008-7-5 20:43 8193102
trunc功能强强,顶一个

2008-7-5 20:54 sunfly1983
咱也来一个:
SQL> select '01-'||to_char(sysdate,'mm-yyyy') from dual;

'01-'||TO_
----------
01-07-2008
:)

2008-7-5 23:43 咋这样呢
呵呵 trunc 那个好

2008-7-6 10:54 阿日
trunc功能很强大,顺便问一句 咋这样呢 你的技术分为什么会是负的

2008-7-6 14:32 jvkojvko
[quote]原帖由 [i]阿日[/i] 于 2008-7-6 10:54 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10869679&ptid=1017326][img]http://www.itpub.net/images/common/back.gif[/img][/url]
trunc功能很强大,顺便问一句 咋这样呢 你的技术分为什么会是负的 [/quote]

水太多了,帖子被删了
呵呵

2008-7-6 18:27 ispu
oracle有很多时间函数都是只写一个,另一个让你自己去加减。比如next_day减个7就等于prev_day了,last_day减一个月再加一天就成first_day了:)

2008-7-8 10:16 yxplove
select last_day(add_months(sysdate,-1))+1 from dual

2008-7-8 10:18 javens
[quote]原帖由 [i]yxplove[/i] 于 2008-7-8 10:16 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10885554&ptid=1017326][img]http://www.itpub.net/images/common/back.gif[/img][/url]
select last_day(add_months(sysdate,-1))+1 from dual [/quote]
這一句就可以了,還有簡單一點的就是
select to_char('yyyy-mm-',sysdate)||'01' from dual;

2008-7-8 10:45 feng2371
trunc(sysdate,'yyyy') --返回当年第一天.
trunc(sysdate,'mm') --返回当月第一天.
trunc(sysdate,'d') --返回当前星期的第一天.

2008-7-8 11:14 haibo_li
不错,学习

页: [1]
查看完整版本: 如何获得月初日期


Powered by ITPUB论坛