我正在尝试使用包含日期的cakephp在Postgres中插入数据。
我的数据库中的列是timestamp without timezone
,我有一个日期时间字符串"Y-m-d H:i:s"
(也尝试使用int)。
我必须投出该值吗?
答案 0 :(得分:1)
只要文字文字是明确的且采用可接受的格式,不就必须强制转换插入的值。
不要将日期('2011-10-21')误认为时间戳('2011-10-21 12:10:23')。
对于时间戳:
INSERT INTO tbl (timestamp_col)
VALUES ('2011-01-01 0:0:0');
但是你必须施放日期,在这种情况下导致'2011-01-01 0:0:0':
INSERT INTO tbl (timestamp_col)
VALUES ('2011-01-01'::timestamp);
ISO 8601格式'yyyy-mm-dd'表示日期,'yyyy-mm-dd hh:mm:ss'表示时间映射为unambiguous for any locale。其他格式可能取决于您的区域设置。
答案 1 :(得分:0)
使用
'Y-m-d H:i:s'::timestamp
不要忘记单引号
例如
select '2011-01-01'::timestamp