首页 > 解决方案 > 如何使用 pl/sql 从用户输入的日期中提取月份

问题描述

这是我的代码:

DECLARE
    due_date DATE := TO_DATE('&Due_date','DD-Mon-YYYY HH24:MI:SS' );
    mon NUMBER;
BEGIN   
SELECT
  EXTRACT( MONTH FROM TO_DATE('&Due_date',  'DD-Mon-YYYY HH24:MI:SS' ) ) MONTH INTO mon
FROM DUAL;
  END;
  /

但我得到了错误,

ORA-01858:在预期数字的地方发现了一个非数字字符ORA-06512:在第 2 行ORA-06512:在“SYS.DBMS_SQL”,第 1721 行

标签: oracleplsql

解决方案


要从日期中提取一个月,您可以使用TO_CHAR(SYSDATE, 'Month');.


推荐阅读