我有一个小问题。我正在将PHP与Oracle一起使用(顺便说一下,这是Oracle的新功能)。
在我的数据库中有一个名为NEXT_START_DATE的DATE字段,其值为
25.12.2013 04:05:01
如下所示。
问题是我可以在我的网页上获得日期值,但看不到任何时间,如果你能看到下图,它只会返回25/12/2013。
我知道人们建议使用像
这样的pl / sql函数to_date()
或
to_char()
但这可能只使用php吗?我真的不能干涉SQL。任何帮助都会很棒,提前谢谢。
答案 0 :(得分:1)
在ADOdb
中,请务必在连接前设置格式:
$db = ADONewConnection("oci8");
// $db->debug = true;
// Date format is set before connecting.
$db->NLS_DATE_FORMAT = 'DD.MM.YYYY HH24:MI:SS';
礼貌: http://board.issociate.de/thread/192412/OCI_ignoring_NLS_DATE_FORMAT_parameter.html
答案 1 :(得分:1)
您也可以在查询中使用SQL函数。
例如,
SELECT TO_CHAR(next_start_date, 'YYYY-MM-DD HH24:MI:SS') FROM mytable
您将获得指定格式的日期。
正如@Maheswaran Ravisankar指出的,还有NLS_DATE_FORMAT,但是如果你设置它,那个格式用于所有查询(没有指定to_char)。我总是在所有select
中使用to_char,因为它允许我为每个查询指定一个单独的格式。