lectric
6.12.2006, 15:14:28
Witam,
Problem jest tego typu. Mam duzo zawartosc danych w bazie i jedna z tabelek zawiera pole data ktore jest zdeklarowane jako varchar. Teraz gdy chcem napisac program ktory ma wykonywac jakies tam operacje na dacie wykorzystujac dane z db (pole data), to jestem szczerze mowiac uziemiony na maksa.
Czy jest jakis sposob na przekonwertowanie typu danych varchar na date , bez utraty istniejacych w db danych ?
Tak, istnieje taka możliwość - chociaż w tym przypadku jest ona uzależniona od tego co jest przechowywane w polach gdzie powinien być typ date. Jeżeli są tam prawidłowe wartości daty - to wówczas wystarczy zwykłe ALTER TABLE i będzie ok. Jeżeli nie to będziesz musiał doprowadzić je do prawidłowych wartości, a następnie wykonać polecenie ALTER.
lectric
6.12.2006, 15:40:33
luzik,
w zlym polu jest format danych dd-mm-rr, czy bedzie ok do
ALTER TABLE data ADD date;
przy czym pole data jest obecnie w dp, z typem varchar. Mam rozumiec ze "nalozenie" pola jedno na drugie tyle ze z innym typem danych , zemieni wlasciwosci bez utraty rekordow ?
dr_bonzo
6.12.2006, 15:52:20
Dodaj nowe pole typu DATECOSTAM o nowej nazwie, UPDATE tabli zeby przepisac dane z VARCHARA do DATE. Zmien nazwe starej kolumny, zmien nazwe nowej kolumny na stara nazwe kolumny VARCHAROWEJ i juz. Powinno dzialac. JEdyne problemy moga wystapic przy updacie i przenoszeniu stringa do daty.
AAaaa i usun stara kolumne gdy wszystko juz dziala
lectric
6.12.2006, 15:57:05
hmm, no to juz widze komplikacje kolejna przy UPDATE dla ok 4 mln rekordow , trzeba sortowac...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.