php - FreeTDS 奇怪的日期时间格式

标签 php freetds

将应用程序移动到具有更新软件的新服务器后(从 php 5.2.17 -> 5.3.15、FreeTDS 0.64 -> 0.82 移动)

SELECT GETDATE()

和任何其他日期时间函数/列产生类似于:

2012-06-219 51:527:
// proper time: 2012-08-06 09:33:02

我知道我可以在 select 中使用 convert,但是 DB 中有很多我无法更改的存储过程。

我尝试更改 /etc/locales.conf 并设置 date format = %Y-%m-%d %H:%M:%S,并且使用 ini_set('mssql.datetimeconvert',1); 但 freetds 似乎忽略它并返回 Aug 06 2012 09:33AM

有没有一种方法可以在不修改每个查询的情况下以标准格式检索日期时间列?

最佳答案

我以一种蛮力的方式解决了这个问题 - 在 /etc/locales.conf 中的所有语言环境中更改了 date format,我不知道是哪一个有效,但我很确定它们都没有用作系统区域设置。

无论如何,不​​建议使用datetimeconvert,并且在某些数据库抽象层库(在这种情况下为adodb)中关闭,所以我仍然感兴趣是否有任何方法可以让它显示正确的日期时间

关于php - FreeTDS 奇怪的日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11824323/

相关文章:

php - 如何完成分页实现

php - 如果 SQL 在 PHP 中没有返回任何内容,则输出一条消息

php - 我想要带有 where 条件的 sql 列的最后一个值

python - 当天第一次尝试查询失败,第二次尝试成功

python - 如何从 Linux VM 上的 Django 应用程序连接到 Azure SQL 数据库

php - 使用 Curl 或其他方式检索完全呈现的页面?

php - 使用 php 表单 POST 函数发送通过 ssl 保护的信息

php - 为什么我的服务器无法使用 PHP mssql_connect 连接到远程 MSSQL 服务器?

ruby-on-rails - Rails-Tinytds崩溃的 ruby

python - 在 Windows 上安装 pymssql 时遇到问题