日期格式不正确
EXECUTE CHK_PACK.CHK_HIREDATE('01-JAN-47')EXECUTE CHK_PACK.CHK_HIREDATE(to_date('2047-01-01','yyyy-mm-dd'))
EXECUTE CHK_PACK.CHK_HIREDATE('01-JAN-47')EXECUTE CHK_PACK.CHK_HIREDATE(to_date('2047-01-01','yyyy-mm-dd'))
这个不行你就比较麻烦了。
EXECUTE CHK_PACK.CHK_HIREDATE(to_date('01-JAN-47','yy-mon-dd'))to_date('01-JAN-47','yy-mon-dd')中的[47]是不对的。
它必须小于当月的最后一天。
例如:
select to_date('01-JAN-31','yy-mon-dd') as a from dual;
这样是可以的,否则ORA-01847
例如:
'01-Apr-21'
'01-Mar-22'
'01-Jun-23'
select to_date('01-Jun-21','yy-mon-dd') as a from dual;
的结果是:2001-06-21
select to_date('02-Jun-21','yy-mon-dd') as a from dual;
的结果是:2002-06-21
这样执行也是不行
后边没看,你翻过来不就玩了?
EXECUTE CHK_PACK.CHK_HIREDATE(to_date('01-JAN-16','dd-mon-yy'))
to_date('01-JUN-2006')不用fmt
中英转换的问题,你最好当作字符串传进去,
在存储过程里转换。
IS
V_RESULT VARCHAR2(20);
BEGIN
V_RESULT:=TO_CHAR(V_DATE,'yyyy-mm-dd');
RETURN V_RESULT;
END PRINT_IT;VARIABLE DISPLAY_DATE VARCHAR2(20)
EXECUTE :DISPLAY_DATE:=OVER_LOAD.PRINT_IT('08-MAR-01')
PRINT DISPLAY_DATE这是一个新的问题,能输出,但是不能实现格式转换
alter system nls_date_format='yyyy-mm-dd hh24:mi:ss'
alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss'