Tôi có bảng mẫu này với một Số nhà trong postgresql của tôi 9.1:Làm thế nào để xóa hàng mà không thể được đúc để INT
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')
;
Bây giờ tôi phải chuyển đổi các cột toàn bộ "housenr" vào một trường INT . Có cách nào trong SQL để chỉ đúc các hàng này từ cột có thể được đúc. Trong mytable, đây sẽ là mỗi hàng ngoại trừ hàng có "housenr" = 99/1.
Cái gì như: FOR EACH ROW NẾU :: int LÀ CÓ THỂ dàn diễn viên hàng ELSE BỎ TỪ BẢNG
Trường đó * có * là 'int'? Bạn định nghĩa nó là 'văn bản' ... – Gaffi
Nhưng' 99/1' có thể là số nhà hợp lệ. – Taryn
Tôi phải tính toán các con số này trong một bước xa hơn (trừ chúng ra khỏi nhau). Mỗi loại trường sẽ là ok, trong đó tôi có thể thực hiện các tính toán này. @ bluefeet: điều này không quan trọng. Nếu bạn có thể chuyển đổi 99/1 thành 99 nó sẽ hoàn hảo để – zehpunktbarron