[code="java"]date(substr(char(v_rq),1,8)||'01')[/code]
DB2存储过程里有这么一句,啥意思呢,改成ORACLE怎么改呢?
[code="java"]date(substr(char(v_rq),1,8)||'01')[/code]
DB2存储过程里有这么一句,啥意思呢,改成ORACLE怎么改呢?
之前你的sql
[code="sql"]date(substr(char(v_rq),1,8)||'01') [/code]
中是这样的
比如传入的参数为 v_rq 2009年11月23日(日期型)
char(v_rq)后为2009-11-23
substr(char(v_rq))为2009-11-
substr(char(v_rq)) || '01' 为2009-11-01
date(substr(char(v_rq),1,8)||'01') 为 2009年11月1日
我的sql
[code="sql"]
to_date(substr(to_char(v_rq, 'yyyy-mm-dd'),1,8) || '01', 'yyyy-mm-dd')
[/code]
to_char(v_rq, 'yyyy-mm-dd')把日期转化为string才能进行substr操作
to_char(v_rq, 'yyyy-mm-dd')后为2009-11-23
substr(to_char(v_rq, 'yyyy-mm-dd'),1,8) 为2009-11-
substr(to_char(v_rq, 'yyyy-mm-dd'),1,8) || '01' 为2009-11-01
b[/b]
to_date(substr(to_char(v_rq, 'yyyy-mm-dd'),1,8) || '01', 'yyyy-mm-dd') 为 2009年11月1日