怎么得到上个月一号零时零分零秒

x_911 2010-08-24 11:08:56

v_begintime := to_date(add_months(sysdate,-1)||' 00:00:00','yyyymmdd hh24:mi:ss');


需要得到上个月一号零时零分零秒,上面哪里错了啊?怎么改?
这个存储过程是每个月一号跑的!

顺便问下,存储过程中怎么打印一个参数!

...全文
153 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
murton 2010-08-24
  • 打赏
  • 举报
回复
是正确的,你可以这样试试:

SQL>
SQL> SELECT 1
2 FROM dual
3 WHERE trunc(add_months(SYSDATE, -1), 'mm') = to_date('2010-07-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss');

1
----------
1

SQL>
x_911 2010-08-24
  • 打赏
  • 举报
回复

v_begintime :=trunc(add_months(SYSDATE,-1),'mm');


这样可以了,但是我不知道得到的时间是不是正确的!
siyuan_2007 2010-08-24
  • 打赏
  • 举报
回复
select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') || ' 00:00:00' firstDay from dual;

这样可以不
x_911 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mutou88 的回复:]
这样就是上个月零时零分零秒:

SQL code

SELECT trunc(add_months(SYSDATE,-1),'mm') FROM dual;


要打印一个参数,可以用:dbms_output.put_line('参数');
[/Quote]




好像不能这样赋值!


v_begintime :=SELECT trunc(add_months(SYSDATE,-1),'mm') FROM dual;
murton 2010-08-24
  • 打赏
  • 举报
回复
这样就是上个月零时零分零秒:

SELECT trunc(add_months(SYSDATE,-1),'mm') FROM dual;

要打印一个参数,可以用:dbms_output.put_line('参数');

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧