【问题标题】:SQL Server 2005 Fail: Return Dates As StringsSQL Server 2005 失败:以字符串形式返回日期
【发布时间】:2010-03-31 01:42:35
【问题描述】:

我用的是SQL Server PHP Driver,我觉得这个问题可以不用知道这是什么来回答的。

我遇到过很多次了,NAMES是什么意思?列名?:

SET NAMES utf8

是否有类似于上述的查询可以将我的日期作为字符串返回?出于某种原因,在我的 Vista 上的 SQL Sever 2008 上,这是可行的:

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

但是上面的“ReturnDatesAsStrings”在我的 Windows 服务器机器上的 SQL Server 2005 上不起作用?设置上述内容后,我无法执行任何查询!它给了我这个错误:

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?我可以传递其他一些参数来做同样的事情吗?

感谢大家的帮助

编辑

我应该提到这一点,但如果有一个解决方案,我希望有一个可以在任何查询可以执行之前设置的设置形式的解决方案,因为我无法控制将执行哪些查询。

【问题讨论】:

    标签: sql-server sql-server-2005 utf-8


    【解决方案1】:

    我怀疑你的问题是老司机。 'ReturnDatesAsStrings' 功能是在 1.1 版本中添加的,因此您可能拥有 1.0 并且只需要升级。

    【讨论】:

    • 啊,我明白了。因此,此功能的可取性取决于 PHP SQL Server 驱动程序!你是对的,我认为我的笔记本电脑上有最新的驱动程序,并且因为我们的服务器运行的是旧版本的 PHP(5.2.9) - 我使用的是旧驱动程序。不过不确定是什么版本。
    【解决方案2】:

    如果你想将日期作为字符串返回,你可以转换它

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

    在这里阅读更多

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

    【讨论】:

    • 我希望有一个设置而不是实际的演员表 - 我无法控制执行的 SQL 查询,但执行的任何内容都应将其日期作为字符串返回。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 2014-08-29
    • 1970-01-01
    相关资源
    最近更新 更多