【发布时间】:2019-04-09 17:57:44
【问题描述】:
我有一个将日期格式转换为 DD/MM/YYYY 以创建视图的代码最初日期格式为 dd.mm.yyyy hh24.mi.ss 。所以我转换了它。
NVL(TO_CHAR(D_TRANS.TRANS_DATE, 'DD/MM/YYYY'), 'NULL') AS CASE_DATE
我想使用“日期之间”过滤器从视图中获取数据,最初可以工作,现在不再工作。它伴随着这个错误
“在需要数字的地方发现了一个非数字字符” *原因:要使用日期格式模型转换的输入数据是 不正确。输入数据不包含数字 格式模型所要求的。 *行动:修复输入数据或日期格式模型,以确保 元素在数量和类型上匹配。然后重试该操作。
SELECT * FROM VIEW_info
WHERE CASE_DATE BETWEEN TO_DATE('&ENTER_START_DATE', 'DD/MM/YYYY')
AND TO_DATE('&ENTER_END_DATE', 'DD/MM/YYYY')
我也试过了,但只从大量记录中提取了 5 条信息
SELECT * FROM VIEW_info
WHERE CASE_DATE BETWEEN TO_CHAR(TO_DATE('&ENTER_START_DATE',
'DD/MM/YYYY'), 'DD/MM/YYYY') AND TO_CHAR(TO_DATE('&ENTER_END_DATE',
'DD/MM/YYYY'), 'DD/MM/YYYY')
【问题讨论】:
-
在视图中同时包含转换后的日期和原始日期,然后使用原始日期编写
BETWEEN条件 -
为什么您希望您的视图显示日期的字符串版本 - 为什么不直接返回日期并让针对视图的查询将其格式化为字符串(如果需要)?
-
最初的日期格式是 dd.mm.yyyy hh24.mi.ss 。