如何在Oracle中按日期查询

时间:2019-02-15 14:00:58

标签: sql database oracle

我有这样的实地日期 类型数据= varchar

date
2019.01.01
2019.02.02
01.04.2016

我想获取数据日期> = 2019.01.01 我这样写查询select * from mydb date >= '2019.01.01 结果是所有数据。我只想要结果
 2019.01.01  2019.02.02

有人帮我吗?

2 个答案:

答案 0 :(得分:0)

如果该列存储为日期:

select t1.date -- use the column name (and if it is called "date", use the table name too)
from t1 -- the table name
where t1.date >= to_date('20190101','YYYYMMDD') -- Oracle dates can be funny

答案 1 :(得分:0)

使用@staticmethod检查日期格式:

case

这涵盖了只有两种格式的日期的情况:
select * from mydb where case locate('.', date) when 3 then to_date(date,'DD.MM.YYYY') else to_date(date,'YYYY.MM.DD') end >= to_date('2019.01.01','YYYY.MM.DD') DD.MM.YYYY