无法将varchar(255)强制转换为浮点型

时间:2018-07-06 15:41:51

标签: postgresql postgresql-9.5

我试图更改一种列类型以使其浮动或创建一个新的列类型并复制旧的内容,但是无论哪种情况,我都会得到:

invalid input syntax for type numeric: "10:59"

我尝试过

ALTER TABLE videos ALTER COLUMN length TYPE numeric(10,2) USING CAST(length AS numeric(10,2));

我还尝试过将值选择为浮点数

select length::numeric(10,2) from videos;

但是我得到了同样的错误。这是列说明

enter image description here

另外,我在做的时候

select '10.59'::numeric(10,2), length from videos;

它返回

numeric length
10.59   10:59

1 个答案:

答案 0 :(得分:1)

您的值无效。 "10:59"无法转换为fload。

SELECT '10:59'::float
-- ERROR:  invalid input syntax for type double precision: "10:59"

请注意,您的字符串值包含分号:10:59!= 10.59

您需要在更改表格之前更新该值。