整数的无效输入语法:“1”postgresql
invalid input syntax for integer: "1" postgresql
当我尝试将 TEXT 列转换为整数时,PostgreSql 给出了这个错误。
select pro_id::integer from mmp_promocjas_tmp limit 1;
该列仅包含数字,有效整数。 “1”怎么可能是无效整数?
select pro_id, length(pro_id) ,length(trim(pro_id)) from mmp_promocjas_tmp limit 1;
输出:
1 | 2 | 2
查询 select pro_id from mmp_promocjas_tmp where trim(pro_id) = '1'
未显示任何内容。
我尝试删除空格,但没有结果:
select pro_id from mmp_promocjas_tmp where regexp_replace(trim(pro_id), '\s*', '', 'g')
该栏目中可能存在虚假的不可见内容。
要使它们可见,请尝试这样的查询:
select pro_id, c,lpad(to_hex(ascii(c)),4,'0') from (
select pro_id,regexp_split_to_table(pro_id,'') as c
from (select pro_id from mmp_promocjas_tmp limit 10) as s
) as g;
这将显示 ID 及其包含的每个字符,既作为字符又作为其在曲目中的十六进制代码。
当我尝试将 TEXT 列转换为整数时,PostgreSql 给出了这个错误。
select pro_id::integer from mmp_promocjas_tmp limit 1;
该列仅包含数字,有效整数。 “1”怎么可能是无效整数?
select pro_id, length(pro_id) ,length(trim(pro_id)) from mmp_promocjas_tmp limit 1;
输出:
1 | 2 | 2
查询 select pro_id from mmp_promocjas_tmp where trim(pro_id) = '1'
未显示任何内容。
我尝试删除空格,但没有结果:
select pro_id from mmp_promocjas_tmp where regexp_replace(trim(pro_id), '\s*', '', 'g')
该栏目中可能存在虚假的不可见内容。 要使它们可见,请尝试这样的查询:
select pro_id, c,lpad(to_hex(ascii(c)),4,'0') from (
select pro_id,regexp_split_to_table(pro_id,'') as c
from (select pro_id from mmp_promocjas_tmp limit 10) as s
) as g;
这将显示 ID 及其包含的每个字符,既作为字符又作为其在曲目中的十六进制代码。