PDO从Postgres获得小数秒

时间:2017-03-02 10:43:52

标签: php postgresql pdo php-7

当我使用简单的pdo语句postgresql (9.6)

查询(PHP7)的日期时间字段时
$sql = "SELECT date FROM table"
$stmt = $adapter->createStatement($sql);
$stmt->prepare($sql);
$stmt->execute();

我收到字符串2017-02-03 15:51:44而不是2017-02-03 15:51:44.240000(最后一个输出是来自psql控制台的结果)

我看到一篇文章在讨论 this bug report FROM 2011 about mysql and php 5,我想自2011年以来问题已得到解决,或者人们已找到解决问题的方法。

有人找到了一个解决方案来检索php中的小数秒吗?

2 个答案:

答案 0 :(得分:0)

如果你把它变成varchar会怎么样?

myButton.setOnClickListener(new View.OnClickListener() {
            @Override public void onClick(View view) {
                parentView.addView(textView);
            }
        });

答案 1 :(得分:0)

  

有人找到了一个解决方案来检索php中的小数秒吗?

它们通常是结果的一部分。 这是使用默认的php-7.1.2安装检索时间戳的实际代码:

<?php
$link = new PDO("pgsql:dbname=test;host=localhost", $user, $password);

$stmt = $link->prepare("SELECT '2016-01-02 22:44:31.625129'::timestamp AS t");
$stmt->execute();
$result = $stmt->fetch();
print_r($result);
?>

结果:

Array
(
    [t] => 2016-01-02 22:44:31.625129
    [0] => 2016-01-02 22:44:31.625129
)

因此,保留这些微秒没有什么特别之处,可能会丢弃它们需要一些额外的代码,或者SQL中的截断或timestamp(0)的强制转换。