日期:2014-05-17  浏览次数:21068 次

如何在表定义阶段设置Date类型的格式(改为YYYY-MM-DD)?
Oracle   10g里有一张表RH_BASE_INFO,里面有PROD_DATE字段,类型为date(默认格式为YYYY-MM-DD   hh24:mi:ss)。现在我要查询日期为

2007-04-05的数据,用以下语句
select   count(distinct   CREW)   from   scott.RH_BASE_INFO   where   PROD_DATE=to_date( '2007-04-05 ', 'yyyy-mm-dd ')
无法找到数据,而当用 "yyyy-mm-dd   hh24:mi:ss "格式查找时能够找到数据。
现想到以下解决方法
1.在数据库表定义中,设置PROD_DATE字段格式为 "yyyy-mm-dd "(与查找类型一致)。我给PROD_DATE字段是用sysdate来赋值的。
2.在查询语句里进行修改,使其能够查询到数据。

我个人偏向第一种方法,请问如何解决,谢谢。

------解决方案--------------------
select count(distinct CREW) from scott.RH_BASE_INFO where PROD_DATE like to_date( '2007-04-05 ', 'yyyy-mm-dd ')
------解决方案--------------------
记不清了,语句好像是alter system alter date= 'YYYY-MM-DD '。
还不行就去改注册表。网上搜一下,挺多的