我的 postgresql 9.1 中有这个带有门牌号的示例表:
drop table if exists mytable;
create table mytable(road_id int, housenr text);
insert into mytable(road_id, housenr) values
('11', '1' ),
('22', '12' ),
('33', '99/1' ),
('44', '88' ),
('55', '2' ),
('66', '28' ),
('77', '29')
;
现在我必须将整列“housenr”转换为一个 INT 字段。SQL中有没有办法只从可以转换的列中转换这些行。在 mytable 中,这将是除“housenr”= 99/1 之外的每一行。
类似于: FOR EACH ROW IF ::int IS POSSIBLE 强制转换行 ELSE REMOVE FROM TABLE