小编abh*_*sek的帖子

错误:带有时区的时间戳类型的输入语法无效

我有一个 PostgreSQL 查询,如下所示,运行良好。我从 shell 脚本中调用它,如下所示

Result=$(psql -U username -d database -t -c 
$'SELECT round(sum(i.total), 2) AS "ROUND(sum(i.total), 2)" 
  FROM invoice i 
  WHERE i.create_datetime = '2019-03-01 00:00:00-06' 
  AND i.is_review = '1' AND i.user_id != 60;')
Run Code Online (Sandbox Code Playgroud)

现在我想要我硬编码的值以i.create_datetime = '2019-03-01 00:00:00-06'将其替换为可变日期值。

我尝试了两种方法

方式一:

Result=$(psql -U username -d database -t -c 
$'WITH var(reviewMonth) as (values(\'$reviewMonth\')) 
SELECT round(sum(i.total),2) AS "ROUND(sum(i.total),2)" 
FROM var,invoice i 
WHERE i.create_datetime = var.reviewMonth::timestamp 
AND i.is_review = \'1\' AND i.user_id != 60;')
Run Code Online (Sandbox Code Playgroud)

方式2:

Result=$(psql -U username -d database -t …
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-9.3

6
推荐指数
1
解决办法
5万
查看次数

标签 统计

postgresql ×1

postgresql-9.3 ×1