我有这样的实地日期 类型数据= 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
有人帮我吗?
答案 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