从列中添加值

时间:2019-03-14 20:12:24

标签: sql datatable count sum plpgsql

如何对数据类型为text的表中的列的值求和。我尝试使用以下代码,它给了我以下错误:

SELECT sum(periodo::INTEGER) as period
FROM informe_reposo
  

错误:没有完整的参数整数

1 个答案:

答案 0 :(得分:0)

此代码:

SELECT sum(periodo::INTEGER) as period
FROM informe_reposo

假定periodo可以毫无问题地转换为整数。不幸的是,Postgres没有安全的转换,但是您可以使用case并接近:

SELECT sum(case when periodo ~ '^[-]?[0-9]{1,9}$' then periodo end)::INTEGER) as period
FROM informe_reposo;

我建议您注意那些失败的值-看看您应该怎么做。