我想从日期格式为08-MAR-14 03.52.17.000000000 PM
的数据库中获取详细信息。我知道可以获取日期
SELECT * FROM Table WHERE somecol >= '2011-01-01' AND somecol <= '2011-01-30'
在这个数据中,我也有时间,怎么可能只获得日期,我使用java连接oracle和html5 + java脚本+ j查询。
答案 0 :(得分:1)
使用to_char函数。
答案 1 :(得分:0)
我假设somecol包含的日期字段实际存储为格式为VARCHAR2的文本字符串:
08-MAR-14 03.52.17.000000000 PM
如果是这种情况,这是您的查询:
select * from table
where to_date(substr(somecol, 0, 9)) >= '01-JAN-11'
and to_date(substr(somecol, 0, 9)) <= '30-JAN-11';
这个问题是Oracle需要在每一行上执行substr和to_date,以便知道要返回哪些。如果您需要经常在具有大量行的表上运行此操作,则会影响您的性能。您可以在'to_date(substr(somecol,0,9))'上创建基于函数的索引,以减少这种影响。