Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在Oracle 11g中使用日期数据类型进行查询_Sql_Oracle_Date - Fatal编程技术网

Sql 在Oracle 11g中使用日期数据类型进行查询

Sql 在Oracle 11g中使用日期数据类型进行查询,sql,oracle,date,Sql,Oracle,Date,我试图在Oracle11g中使用DateWhere子句进行简单的选择和更新,但我无法产生预期的结果 日期字段为datemodified,当前的值为2014年7月12日,数据类型为date 我正在做以下工作,但没有得到结果: select * from table where datemodified = to_date(datemodified, '12-JUL-14') 我尝试了以下方法,但仍然没有结果: select * from table where to_date

我试图在Oracle11g中使用DateWhere子句进行简单的选择和更新,但我无法产生预期的结果

日期字段为
datemodified
,当前的值为2014年7月12日,数据类型为date

我正在做以下工作,但没有得到结果:

  select *
  from table
  where datemodified = to_date(datemodified, '12-JUL-14')
我尝试了以下方法,但仍然没有结果:

  select * from table
  where to_date(datemodified, 'DD-MON-YY') = to_date('12-JUL-15',   
  'DD-MON-YY')

我做错了什么?

您可以尝试此查询

select * from table
  where to_char(datemodified, 'dd-MON-yy') = '12-JUL-15'

Oracle日期字段包括一天中的时间。此外,对函数结果进行过滤(如to_char())会降低生产速度。此方法适用于:

where dateModified >= the date you want
and dateModified < the day after the date you want.


但不是场本身

你储存的日期是在哪个世纪?如果首先设置该值的内容不正确,例如使用YYYY掩码通过2位数年份,则可能会出现问题。(看到2位数的年份通常是某个地方出现问题的迹象)。或者更可能的是,它们是否包含非午夜的时间?用
检查您真正拥有的内容,从您的\u表中选择\u char(datemodified,'YYYY-MM-DD HH24:MI:SS'),并向问题添加一些示例。您的第二个和第三个查询也使用了“15”而不是“14”,这可能没有帮助。。。但是第一个会抛出ORA-01821,这些可能不是你实际使用的。
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')