xool
18-02-2010, 13:19
Salve, ho un problema su un DBMS PostgreSQL, vi spiego:
ho una tabella in cui un attributo di tipo testo contiene in alcuni campi dei caratteri scomodi per una'ltra applicazione. In parole povere alcuni campi contengono delle virgole in mezzo e io le devo togliere e sostituirle con uno spazio.
Ho pensato di usare l'istruzione UPDATE nel seguente modo ma ho difficolta su cosa mettere come argomento di SET:
UPDATE nome_tabella
SET attributo = non so che mettere
WHERE attributo = (SELECT attributo FROM nome_tabella WHERE attributo LIKE '%,%');
ho provato a mettere per SET il seguente:
SET attributo = '% %'
ma chiaramente mi sostituisce quello fra virgolette, ovvero '% %' in tutti i campi che soddisfano il WHERE. La SELECT del WHERE funziona correttamente, perechè eseguita da sola mi seleziona esattamente le tuple relative all'attributo di interesse che contengono al loro interno stringhe con la virgola.
Che si può fare?
ho una tabella in cui un attributo di tipo testo contiene in alcuni campi dei caratteri scomodi per una'ltra applicazione. In parole povere alcuni campi contengono delle virgole in mezzo e io le devo togliere e sostituirle con uno spazio.
Ho pensato di usare l'istruzione UPDATE nel seguente modo ma ho difficolta su cosa mettere come argomento di SET:
UPDATE nome_tabella
SET attributo = non so che mettere
WHERE attributo = (SELECT attributo FROM nome_tabella WHERE attributo LIKE '%,%');
ho provato a mettere per SET il seguente:
SET attributo = '% %'
ma chiaramente mi sostituisce quello fra virgolette, ovvero '% %' in tutti i campi che soddisfano il WHERE. La SELECT del WHERE funziona correttamente, perechè eseguita da sola mi seleziona esattamente le tuple relative all'attributo di interesse che contengono al loro interno stringhe con la virgola.
Che si può fare?