当前位置: 首页 > 面试题库 >

MSSQL / dblib的PDO日期时间格式

林和畅
2023-03-14
问题内容

MSSQL 2005数据库具有排序规则“ German_Phonebook_BIN”(但这并不重要)。通过PDO和FreeTDS(使用Debian
Squeeze下的PHP)完成与db的连接。当我尝试从表中选择日期时间值时,我得到如下结果:

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一起使用时,它是可怕的)

好的,更多信息(仅显示重要片段):

<?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]"));

问题答案:

检查设置/etc/freetds/locales.confFREETDSCONF指向任何位置的设置-
例如,请参见https://www.centos.org/modules/newbb/viewtopic.php?topic_id=29646。

另一个选择可能是convert在您的SQL语句中使用…



 类似资料:
  • 下表显示可用于为图表中的日期时间字段创建用户定义的数据格式的说明符。 说明符 描述 D 将日显示为不带前导零的数字(1-31)。 DD 将日显示为带前导零的数字(01-31)。 M 将月份显示为不带前导零的数字(1-12)。 MM 将月份显示为带前导零的数字(01-12)。 MMM 将月份显示为缩写形式(Jan-Dec)。 MMMM 将月份显示为完整月份名(January-December)。 Y

  • 下表显示可用于为图表中的日期时间字段创建用户定义的数据格式的说明符。 说明符 描述 D 将日显示为不带前导零的数字(1-31)。 DD 将日显示为带前导零的数字(01-31)。 M 将月份显示为不带前导零的数字(1-12)。 MM 将月份显示为带前导零的数字(01-12)。 MMM 将月份显示为缩写形式(Jan-Dec)。 MMMM 将月份显示为完整月份名(January-December)。 Y

  • 下表显示可用于为图表中的日期时间字段创建用户定义的数据格式的说明符。 说明符 描述 D 将日显示为不带前导零的数字(1-31)。 DD 将日显示为带前导零的数字(01-31)。 M 将月份显示为不带前导零的数字(1-12)。 MM 将月份显示为带前导零的数字(01-12)。 MMM 将月份显示为缩写形式(Jan-Dec)。 MMMM 将月份显示为完整月份名(January-December)。 Y

  • 问题内容: 我需要改变从一个日期/时间 2014年8月20日15:30:00 看起来像 二○一四年八月二十○日下午3:30 可以使用javascript的Date对象完成此操作吗? 问题答案: 是的,您可以使用本地javascript Date() 对象 及其方法。 例如,您可以创建一个类似以下的函数: 并显示上午/下午和正确的时间。 请记住使用 getFullYear() 方法,而不要使用get

  • 主要内容:日期格式化符号,Python处理,Pandas处理当进行数据分析时,我们会遇到很多带有日期、时间格式的数据集,在处理这些数据集时,可能会遇到日期格式不统一的问题,此时就需要对日期时间做统一的格式化处理。比如“Wednesday, June 6, 2020”可以写成“6/6/20”,或者写成“06-06-2020。 日期格式化符号 在对时间进行格式化处理时,它们都有固定的表示格式,比如小时的格式化符号为 ,分钟简写为 ,秒简写为 。下表对常用的日期

  • 有没有一种方法可以编写一个模式,该模式解析器“要么”两个可选部分之一?类似于()? 例如: 我想分析短(