Temat: [SQL] Zmiana typu kolumny
Szperałem na Forum, ale niestety nie znalazłem rozwiązania (być może źle szukałem). Próbuję zmienić typ pola w tabeli. Na początku miałem zaćmienie i zrobiłem pole typu "character varying" zamiast "integer", dla danych, które będą liczbowe.
Zauważyłem to dopiero dzisiaj i szybko chciałem to naprawić, a tu zonk :-) Próbowałem zrobić coś takiego:
ALTER TABLE tabela ADD COLUMN kolumna_temp INTEGER DEFAULT 0;
UPDATE tabela SET kolumna_temp = kolumna;
A później po prostu usunąć "kolumna" i zmienić nazwę "kolumna_temp" na "kolumna". Ale Postgres krzyczy, że "kolumna" jest typu "character varying" i nie zrobi UPDATE do kolumny typu "integer". Niby poprawnie, ale jak to obejść?
Próbowałem dodawać "::integer", ale to nic nie zmienia.
Cały problem wynika z tego, że w polu "kolumna", mam zapisany "wzrost" i gdy próbuję zrobić zapytanie typu:
SELECT * FROM tabela WHERE kolumna BETWEEN 150 AND 180
Wyrzuca błąd, co w sumie oczywiste, gdy typ kolumny jest zły.
Jak zmienić ten skubany typ kolumny? :-)