比较不同格式的日期oracle sql

时间:2014-09-11 02:02:50

标签: sql oracle date oracle-sqldeveloper

我的日期格式不同:

日期1:30-JAN-14

日期2:2014-01-30 10:06:04.0

我正在尝试使用以下内容比较两个日期:

to_char(date2,'YYYY-MM-DD HH24:MM:SS') <> to_char(date1,'dd-MON-YY')

但它为date1部分提供了以下错误:

Lietral does not match format String 

我尝试直接比较它们

date2<>date1

我再次出现同样的错误

编辑:Date2是varchar,Date1是DATE

3 个答案:

答案 0 :(得分:1)

可能最容易使用substr并截断date2列中的时间戳。然后,您可以使用to_date进行比较:

select *
from sometable
where date1 <> to_date(substr(date2,1,10), 'YYYY-MM-DD')

答案 1 :(得分:0)

您应该是日期类型转换字符串与比较格式相同

答案 2 :(得分:0)

你可以试试这个。 to_char(date2,&#39; YYYY-MM-DD&#39;)&lt;&gt; TO_CHAR(DATE1,&#39; YYYY-MM-DD&#39)