oracle - 如何使用 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 行
解决方案
要从日期中提取一个月,您可以使用TO_CHAR(SYSDATE, 'Month');
.
推荐阅读
- javascript - ajax请求formik反应后更改值
- sql - 插入表时字符串或二进制数据会被截断错误
- javascript - Print Popup 在 pos js 中显示空白屏幕
- clickhouse - 大表查询是clickhouse进程关闭
- reporting-services - 如何让我的参数在 ssrs 报告的预览模式下展开?
- python - 如何用python绘制相关矩阵?就像在 R 库中一样(性能分析)
- javascript - 滚动部分时用于自定义转换的任何 fullpagejs 代码?
- javascript - 从 JSON 数据中获取产品 ID 并通过 AJAX 发布
- spring - 功能 Bean 定义和 Spring Boot:如何迁移集成测试?
- php - 试图在托管中获取非对象错误的属性,但在本地不是错误