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

php 中查询oracle date 类型数据的问题?
日前用oci函数查询oracle数据时出现个问题,就是在查询到date类型的数据时,使用pl/sql 查询oracle库中的数据显示是
2009-9-29 12:12:12 
但是通过语句select * from tablename 查询,使用oci_fetch_array()函数获取到的该时间字段的值却是
30-9月 -09 
请问如何将这个格式的字段转成上面的字段,或者如何在php中的到上面格式的时间字段?
因为我查询时不确定该时间字段到底是那一个字段,所以没法用oracle库中的时间函数对指定的字段转换,最好能在php中进行转换。
请各位帮忙指点一下,真心求教,不胜感激。

------解决方案--------------------
如果存储时间的字段用int类型的话就不会有这个问题,插入数据库时将时间转为时间戳插入,读取后用时间戳再还原为时间,呵呵这样做的目的可以提高查询时间的效率。也可以避免你上面出现的情况!
------解决方案--------------------
可以看看oralce官方的php例子:

http://www.oracle.com/technology/global/cn/pub/articles/oracle_php_cookbook/fuecks_dates.html

不妨这样尝试(仅仅我的理解):

select name,to_char(regtime,'DD-MM-YYYY HH:MI:SS') from tablename;
------解决方案--------------------
3楼正解