从oracle数据库获取日期,没有时间从列

时间:2014-06-20 13:31:34

标签: java javascript sql oracle date

我想从日期格式为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查询。

2 个答案:

答案 0 :(得分:1)

使用to_char函数。

Refer this link

答案 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))'上创建基于函数的索引,以减少这种影响。