下面的SQL语句
SELECT getdate()
go
当我从SQL Server管理工作室运行时,它会给出
"Jul 27 2016 22:00:00.860"
当我从sqsh运行相同时,它会给出
"Jul 27 2016 10:00PM"
sqsh使用freetds从我的linux框连接到SQL服务器。我有一个使用freetds的C程序,当以24小时格式检索日期时它会正常工作。
我想freetds有设置以所需格式获取日期,有人可以建议如何通过freetds设置来完成。
答案 0 :(得分:2)
这就是我刚刚在我的ubuntu linux盒子上做的事情:
在bash shell中输入以下命令:locale
我的结果(缩写):LANG=en_US
将locales.conf文件复制到config目录:sudo cp /usr/share/doc/freetds-common/examples/locales.conf /etc/freetds/
在locales.conf文件的相应部分中定义所需的日期格式
[en_US]
;date format = %b %e %Y %I:%M:%S:%z%p
date format = %Y-%m-%d %H:%M:%S
现在我来自sqsh
:
SELECT getdate();
: 2016-08-01 11:37:45
答案 1 :(得分:0)
目前,FreeTDS返回的默认日期格式是在locales.conf
文件中配置的。有关详细信息,请参阅http://www.freetds.org/userguide/locales.htm。