无法在postgresql数据库中从nan转换为0

z3yyvxxp  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(750)

我在postgresql数据库中遇到了一个nan问题。
我要更新的列的类型为numeric。无论如何,当我在数据库中创建db行时,它会显示一些行“nan”。
当我想将“nan”更新为0时,它会给我一个语法错误,因为列是数字。
以下我用作查询:

  1. UPDATE anytable
  2. SET "anycolumn" = 0
  3. WHERE "anycolumn" = 'NaN';

“德语”错误:
ung公司ültige-eingabesyntax公司ür典型整数:»南«
sql状态:22p02
人物:85
比尔
马塞尔

uxhixvfz

uxhixvfz1#

那对我没用 integer 列,因为 NaN 整数不支持。
但对我来说应该很管用 numeric , real 以及 double precision :

  1. SELECT 'NaN'::numeric;
  2. numeric
  3. ---------
  4. NaN
  5. (1 row)
  6. SELECT 'NaN'::integer;
  7. ERROR: invalid input syntax for type integer: "NaN"
  8. LINE 1: SELECT 'NaN'::integer;
  9. ^
  10. SELECT 'NaN'::double precision;
  11. float8
  12. --------
  13. NaN
  14. (1 row)
展开查看全部
bgibtngc

bgibtngc2#

我想你的专栏实际上包含 null 值(显示为 'NaN '在你的客户)。所以你可以把它拼成:

  1. UPDATE anytable SET anycolumn = 0 WHERE anycolumn IS NULL;

相关问题