我正在从一个有原始提要的表中导入数据,我需要将Varchar中的一列导入到字符串列中。我尝试使用<column_name>::integer
和to_number(<column_name>,'9999999')
,但我得到了错误,因为有一些空字段,我需要将它们作为空或null检索到新表中。
发布于 2012-05-09 22:43:40
胡乱猜测:如果您的值是一个空字符串,您可以使用NULLIF将其替换为NULL:
SELECT
NULLIF(your_value, '')::int
发布于 2012-12-01 21:38:20
您甚至可以进一步限制此合并字段,例如:-
SELECT CAST(coalesce(<column>, '0') AS integer) as new_field
from <table>
where CAST(coalesce(<column>, '0') AS integer) >= 10;
发布于 2012-05-09 22:44:01
如果您需要将空列视为NULL
,请尝试以下操作:
SELECT CAST(nullif(<column>, '') AS integer);
另一方面,如果您确实有需要避免的NULL
值,请尝试:
SELECT CAST(coalesce(<column>, '0') AS integer);
我确实同意,错误消息会有很大帮助。
https://stackoverflow.com/questions/10518258
复制相似问题