使用date_trunc时出现SQL语法错误

时间:2017-06-22 21:52:51

标签: sql

我正在尝试使用SQL创建表的视图。不幸的是,我的同事突然失控了一段时间,他是唯一一个完全理解这些东西的人。

我正在尝试创建一个可以获取最近90天数据的视图(目前还不是很完整)但主要是我现在只是想让它运行,我可以调试并获取一旦实际运行就具体工作。

CREATE 
OR REPLACE VIEW v_month_table_name AS 
SELECT
(date_trunc('DAY'::text, 
   (
      table_name.date
   )
   ::timestamp with time zone))::date AS day,
   table_name.finance_id_desc,
   table_name.spid,
   table_name.sp_name,
   sum(table_name.total_payments) AS total_payments,
   sum(table_name.total_payments_amount) AS total_payments_amount,
FROM
   table_name 
GROUP BY
   date_trunc('DAY'::text, 
   (
      table_name.date
   )
   ::timestamp with time zone),
   table_name.finance_id_desc,
   table_name.spid,
   table_name.sp_name;

因此,当我在SQL Developer中运行此代码时,我只得到

ERROR: syntax error at or near "FROM"
  Position: 504

但是当我将它插入在线语法检查器时,我得到了

   You have an error in your SQL syntax; check the manual that corresponds
   to your MySQL server version for the right syntax to use near 
   '::text, 
   (
      table_name.date
   )
   ::timestamp with time zone))::dat' at line 4

我已经在我们的代码库中查看了一些其他类似于此内容的SQL,看起来一切都是相同的。

我觉得我的问题是一个简单的解决方案,而且我只是直视它。

1 个答案:

答案 0 :(得分:2)

删除最后一列的尾随逗号:

sum(table_name.total_payments_amount) AS total_payments_amount

这是“FROM”'消息或其附近大多数'语法错误的原因。