I'm trying to do simple select and Update in Oracle 11g using a date where clause and I can't produce the result I expect.
The date field is datemodified
and currently has values like 12-JUL-14 and of data type date.
I'm doing the following and don't get result:
select *
from table
where datemodified = to_date(datemodified, '12-JUL-14')
I tried the following and still did not produce result:
select * from table
where to_date(datemodified, 'DD-MON-YY') = to_date('12-JUL-15',
'DD-MON-YY')
or
Update table
set column = 'some value'
where datemodified = to_date('12-JUL-15', 'DD-MON-YY')
What am I doing wrong?
答案 0 :(得分:0)
You can try this query
select * from table
where to_char(datemodified, 'dd-MON-yy') = '12-JUL-15'
答案 1 :(得分:0)
Oracle日期字段包括一天中的时间。此外,过滤功能结果(如to_char())会降低生产速度。这种方法有效:
where dateModified >= the date you want
and dateModified < the day after the date you want.
可以使用函数作为值,例如
where dateModified >= trunc(sysdate)
或
where dateModified >= to_date('12-JUL-15','DD-MON-YY')
但不在球场本身