【发布时间】:2015-12-07 13:39:14
【问题描述】:
我有一列日期,其中包含 2 种不同格式的数据:yyyy-mm-dd 和 dd/mm/yyyy。 因此,我必须识别日期的格式,以便将它们转换为正确的格式。我的SQL查询如下:
select *
from teste
where
(CASE
WHEN data like '%-%' THEN
TO_DATE(data, 'yyyy-mm-dd') BETWEEN
TO_DATE(01/01/2000, 'dd/mm/yyyy') AND
TO_DATE(01/01/2016, 'dd/mm/yyyy')
ELSE
TO_DATE(data, 'dd/mm/yyyy') BETWEEN
TO_DATE(01/01/2000, 'dd/mm/yyyy') AND
TO_DATE(01/01/2016, 'dd/mm/yyyy')
END)
运行这个,我得到错误:
00905. 00000 - “缺少关键字”
*原因:
*行动:
Erro na linha:6 科卢纳:35。
似乎是 between 子句有问题。谁能帮我解决这个问题?
【问题讨论】:
-
不用提了,但现在您知道为什么应该从不将日期存储为字符串。
-
问题是:不是我创建表,也不是向数据库插入数据。