【发布时间】:2023-04-03 21:52:01
【问题描述】:
在创建表时,我提到了 varchar2 类型来存储日期,现在我不确定 oracle 查询是否可以检索“从至今”。
到目前为止,我已经尝试过这个查询
SELECT DSC_REF,EMP_NO, EMP_NAME, ACTION_DATE from DSC_UPLOAD
WHERE ACTION_DATE Between (extract(month from to_date(ACTION_DATE,'dd/mm/yyyy')) = '02'
(extract(month from to_date(ACTION_DATE,'dd/mm/yyyy')) = '03'
AND extract(year from to_date(ACTION_DATE,'dd/mm/yyyy'))='2018')
【问题讨论】:
-
从不将日期存储在
varchar列中。这是一个可怕的想法。 -
如果你有一个旧表是一回事,但你绝对不应该创建一个新表来将日期存储为 VARCHAR2
-
另外,仅供参考,我相信
EXTRACT()函数返回一个数字而不是一个字符。