私の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