从列中添加值
Add values from a column
如何对 table 中数据类型为 text
的列的值求和。我尝试使用以下代码,它给了我以下错误:
SELECT sum(periodo::INTEGER) as period
FROM informe_reposo
Error: la sintaxis de entrada no es válida para integer
此代码:
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;
我建议您查看失败的值,看看您应该如何处理它们。
如何对 table 中数据类型为 text
的列的值求和。我尝试使用以下代码,它给了我以下错误:
SELECT sum(periodo::INTEGER) as period
FROM informe_reposo
Error: la sintaxis de entrada no es válida para integer
此代码:
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;
我建议您查看失败的值,看看您应该如何处理它们。