Postgresql 使用-更改列类型不能从varchar更改为numeric

Postgresql 使用-更改列类型不能从varchar更改为numeric,postgresql,sqldatatypes,alter-column,Postgresql,Sqldatatypes,Alter Column,如果有人能帮我一点忙,我将万分感激。我对PostRGResql10完全陌生 我有一个大文件,有数百万行73列,我无法导入,所以我将所有列设置为varchar。现在我需要操作数据,我无法更改数据类型。我试了好几个小时。该列包含几个1或2位小数的值。这就是我正在做的: ALTER TABLE table1 ALTER COLUMN facevalue TYPE numeric USING (facevalue::numeric); 这就是我得到的错误 ERROR: invalid input

如果有人能帮我一点忙,我将万分感激。我对PostRGResql10完全陌生 我有一个大文件,有数百万行73列,我无法导入,所以我将所有列设置为varchar。现在我需要操作数据,我无法更改数据类型。我试了好几个小时。该列包含几个1或2位小数的值。这就是我正在做的:

ALTER TABLE table1 
ALTER COLUMN facevalue TYPE numeric USING (facevalue::numeric);

这就是我得到的错误

ERROR:  invalid input syntax for type numeric: " "
SQL state: 22P02

感谢您的时间和考虑

您显然有空字符串或纯空白值。您需要将它们转换为NULL

ALTER TABLE table1 
   ALTER COLUMN facevalue TYPE numeric USING (nullif(trim(facevalue),'')::numeric);