好像也需要转换两次啊
你现在是先转换成date 再转换成char
如果想转成number,可能要这样
select * from t1 where t1.c1>to_number(to_char(to_date('2002-01-01','yyyy-mm-dd'),'j'))
你现在是先转换成date 再转换成char
如果想转成number,可能要这样
select * from t1 where t1.c1>to_number(to_char(to_date('2002-01-01','yyyy-mm-dd'),'j'))
解决方案 »
- 请问下 如何把SELECT * FROM T_STUDENT 的结果集插入到COLB字段?
- 请问如何实现数据表之间的数据替换
- Oracle求助!!!急急急!
- 外企 招oracle Pro C 程序员
- PLS-00428: 在此 SELECT 语句中缺少 INTO 子句
- SOS!大家帮忙
- 在线跪问一统计的SQL语句,刚发了一帖,没人肯回,很是痛苦 ,希望高手指点
- 超难(SQL)
- oracle9i对job数是否有限制
- 如何在oracle8.1.7中加一sql作业?任务中为什么没有sql*plus任务?以及如何定位是使用哪个数据库?
- ORACLE9I中能用case when 函数吗?
- 挑战问题急急 安装oracle9i客户端覆盖了原来的8i,能不能‘恢复
你们都是一知半解。(别说我说话不留口德)用number(8)保存日期不是你们想象的那样。格式绝对不是yyyymmdd的。我看像是跟某个日期之间的日数差(不敢确定)。比如2002-01-01数据库里存的可能是32123(具个例子,具体是多少我也忘了,大约就是这么个范围)。而且这种保存方式绝对是oracle支持的,否则用to_date(32123,'j')就不会返回2002-01-01。我设计当然会用date。问题是这个表是客户的erp系统的,不是我们开发的。我们只是需要读它的数据。如果没有将日期转成number的函数,erp系统是怎么写进数据的?
大家也都是来解决问题的,不管能不能提出一个好的方法,毕竟都是出于好意!
J Julian day; the number of days since January 1,4712 BC. Number specified with ’J’ must be integers.select to_date(2452277,'j') from dual
TO_DATE(2452277,'J')
1 2002/1/2剩下的你自己看着办吧
请看清楚问题再回答