arrays - 如何将 PostgreSQL 时间戳数据类型插入时间戳数组

标签 arrays postgresql sql-timestamp

我有一个包含时间戳数组的表,如下所示:

CREATE TABLE start_times
(
start_date timestamp[]
);

我不确定如何将时间戳值插入到数组中。我在一篇文章中读到,在将时间戳插入数组时应该使用双引号而不是单引号,如下所示:

INSERT INTO start_times VALUES (ROW('{{"10-JAN-15 12.51.14.340358000 AM"},{"11-JAN-15 12.51.14.340358000 AM"}}'));

但是,当我尝试这样做时,出现了以下错误:

ERROR: invalid input syntax for type timestamp: "10-JAN-15 12.51.14.340358000 AM"
SQL state: 22007
Character: 165

谁能告诉我如何将时间戳值插入时间戳数组?

最佳答案

使用 ARRAY 关键字可以让您摆脱对每个元素都加引号的需要,允许根据需要使用单引号。使用 ANSI 时间戳字面量也使它变得容易得多:

INSERT INTO start_times 
VALUES 
(array[timestamp '2015-01-10 00:51:14', timestamp '2015-01-11 00:51:14']);

无论当前区域设置如何,这都将起作用。

关于arrays - 如何将 PostgreSQL 时间戳数据类型插入时间戳数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33131357/

相关文章:

依赖于多个表的 SQL 约束

php - PostgreSQL:使用默认时间戳插入 sql 语句 - dbeaver 与 php

mysql - MySQL中时间戳值的内部表示是什么

javascript - 我如何在 JavaScript 中准备嵌套键值对列表

C 与 postgresql

ruby-on-rails - Rails before_destroy 回调数据库更改总是回滚

mysql - 如何测试 SQL 中每个组中列值的顺序(基于时间戳)?

arrays - 根据数组检索某些 PFObject

c++ - 使用 '='运算符在C++中使两个数组相等

php/mysql 二变量数组