MSSQL 2005數據庫有整理「German_Phonebook_BIN」(但這不重要)。通過PDO和FreeTDS(在Debian Squeeze下使用PHP)連接到db。當我嘗試從表中選擇日期時間值我得到的結果類似:MSSQL/dblib的PDO日期時間格式
2008年4月1日12:00:00:000
但我希望得到
2008-01-01 00:00 :00
(注意,時間00:00:00轉換爲12:00:00,不知道爲什麼00:00 = 12:00 ???) 我沒有辦法操縱SELECT
聲明(用於與CONVERT
進行轉換)。我發現在PDO中沒有選擇設置日期格式的選項。查詢運行前的SET DATEFORMAT
和SET LANGUAGE
不會影響到這一點。 任何人都可以提供一個提示,這可以做到(而且只能做)在PDO? (順便說一句PEAR :: MBD2返回datetime列於預期的格式,但MDB2是可怕的,當它與UTF-8和MSSQL工作)
OK,一些更多的信息(只顯示了重要的片段):
<?php
$this->_dsn = 'dblib:host=' . $this->_db['host'] . ';dbname=' . $this->_db['database'] . ';charset=UTF-8';
$this->_handle = new PDO($this->_dsn, $this->_db['user'], $this->_db['password']);
print_r($this->_handle->query("SELECT [date_column] FROM [some_table]"));
這種現象是不正常的。你能展示你如何選擇這些值以及如何用PHP輸出它們? –
看看https://bugs.php.net/bug.php?id=54648 – rabudde
呃,我明白了。 --- –