Ошибка SQL Server 2005: возвращать даты в виде строк - PullRequest
1 голос
/ 30 марта 2010

Я использую драйвер SQL Server PHP, думаю, на этот вопрос можно ответить, не зная, что это такое.

Я сталкивался с этим много раз, что это значит под ИМЕНАМИ? Имена столбцов?:

SET NAMES utf8

Существует ли запрос, аналогичный приведенному выше, который вернет мои даты в виде строки? По какой-то причине на моем SQL Sever 2008 в Vista это работает:

$connectionInfo = array('Database' => $dbname, 'ReturnDatesAsStrings' => true)

Но вышеупомянутое «ReturnDatesAsStrings» не работает на моем SQL Server 2005 на компьютере с Windows-сервером? Я не могу выполнить какие-либо запросы после установки выше! Это дает мне эту ошибку:

Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -1 [code] => -1 [2] =>
Invalid option ReturnDatesAsStrings was passed to sqlsrv_connect. [message] => 
Invalid option ReturnDatesAsStrings was passed to sqlsrv_connect. ) ) 

Поддерживает ли SQL Server 2005 ReturnDatesAsStrings? Есть ли какой-то другой параметр, который я могу передать, чтобы сделать то же самое?

Спасибо всем за помощь

EDIT

Я должен упомянуть об этом, но если есть решение, я надеюсь, что оно будет в форме настройки, которую можно установить до того, как какие-либо запросы могут быть выполнены, поскольку я не имею контроля над тем, какие запросы будут выполняться.

Ответы [ 2 ]

2 голосов
/ 30 марта 2010

Я подозреваю, что ваша проблема - старый драйвер. Функция «ReturnDatesAsStrings» была добавлена ​​в версии 1.1, поэтому у вас, вероятно, установлена ​​версия 1.0, и вам просто нужно ее обновить.

1 голос
/ 30 марта 2010

Если вы хотите вернуть дату в виде строки, вы можете преобразовать ее

SELECT CONVERT (VarChar (30), DateTimeColumn, 121) as DateTimeColumnString

подробнее здесь

http://msdn.microsoft.com/en-us/library/ms187928.aspx

...