比较 VARCHAR2 和 SYSDATE
Comparing a VARCHAR2 to SYSDATE
我有一个 Oracle
列 END_DATE
那是一个 varchar2(256)
。我需要将该值与 SYSDATE
进行比较,但我不断收到错误。
END_DATE |SYSDATE
----------------|-------
06/30/2016 00:00|29-FEB-16
这是我试过的:
u.END_DATE > SYSDATE ---> ORA-01843: not a valid month
TO_DATE(u.END_DATE, 'DD-MM-YY') > SYSDATE ----> ORA-01843: not a valid month
TO_DATE(u.END_DATE, 'MM/DD/YYYY HH:MM') > SYSDATE ----> ORA-01810: format code appears twice
有什么我遗漏的吗?
第三次尝试就差不多了
HH:MM
部分错误:
- 应使用 MI(分钟)而不是 MM(月)
- 应使用 HH24 而不是 HH
这个应该有效:
TO_DATE(u.END_DATE, 'MM/DD/YYYY HH24:MI') > SYSDATE
我有一个 Oracle
列 END_DATE
那是一个 varchar2(256)
。我需要将该值与 SYSDATE
进行比较,但我不断收到错误。
END_DATE |SYSDATE
----------------|-------
06/30/2016 00:00|29-FEB-16
这是我试过的:
u.END_DATE > SYSDATE ---> ORA-01843: not a valid month
TO_DATE(u.END_DATE, 'DD-MM-YY') > SYSDATE ----> ORA-01843: not a valid month
TO_DATE(u.END_DATE, 'MM/DD/YYYY HH:MM') > SYSDATE ----> ORA-01810: format code appears twice
有什么我遗漏的吗?
第三次尝试就差不多了
HH:MM
部分错误:
- 应使用 MI(分钟)而不是 MM(月)
- 应使用 HH24 而不是 HH
这个应该有效:
TO_DATE(u.END_DATE, 'MM/DD/YYYY HH24:MI') > SYSDATE