Domanda sostituire un carattere in una tabella

avatar17

Utente abituale
23 Maggio 2018
121
16
milano
2016
2
Ciao a tutti, non so se è il posto giusto dove porre questa domanda comunque, come posso fare per sostituire un carattere in tutta la tabella ?

per farlo nelle singole colonne uso:
Visual Basic:
 update TABELLA set COLONNA = Replace(COLONNA,'A, B')
ma per farlo in tutta la tabella come si fa?
 

scossa

Excel/VBA Expert
Moderatore
Expert
14 Luglio 2015
1.284
48
59
Verona Provincia
scossavr.altervista.org
.
10
esegui questa query dopo aver modificato a coerenza i parametri:

SQL:
DECLARE    @Schema [varchar](255)
DECLARE    @Table [varchar](255)
DECLARE @Col varchar(255)
DECLARE @columnNames TABLE (colName varchar(64))
DECLARE    @CharOld [varchar](50)
DECLARE    @CharNew [varchar](50)
DECLARE @QueryUp nvarchar(max)

set @Schema = 'YourSchema' -- Schema reale della Tabella da modificare
set @Table = 'YourTable' -- Name reale della Tabella da modificare
set @CharOld = 'e' -- carattere/stringa originale
set @CharNew = 'X' -- carattere/stringa sostitutivo


INSERT INTO @columnNames
Select COLUMN_NAME from information_schema.columns where Table_schema = @Schema AND  Table_name = @Table

DECLARE myCURSOR CURSOR FOR
select colName from @columnNames
OPEN myCURSOR
    FETCH NEXT FROM myCURSOR INTO @Col
    WHILE @@FETCH_STATUS = 0
    BEGIN
        set @QueryUp = 'UPDATE ' + @Schema + '.' + @Table + ' SET ' + @Col + ' = REPLACE(' + @Col + ',''' +  @CharOld + ''',''' + @CharNew +''')'
        exec sp_executesql @QueryUp
        FETCH NEXT FROM myCursor INTO @col
    END
CLOSE myCURSOR
DEALLOCATE myCURSOR
ATT.NE: se si vuole modificare solo i campi di testo sostituire
SQL:
Select COLUMN_NAME from information_schema.columns where Table_schema = @Schema AND  Table_name = @Table
con

SQL:
Select COLUMN_NAME from information_schema.columns where Table_schema = @Schema AND  Table_name = @Table and DATA_TYPE like '%char'
 
Ultima modifica:

giulianovac

Access/VBA Expert
Expert
9 Giugno 2018
2.694
83
Italy
2013 2019
194
scossa @scossa
Nutro qualche dubbio sul fatto che avatar17 @avatar17 usi SQL Server perché aveva già fatto la stessa identica domanda nella sezione MSAccess. :dubbioso:
Per questo motivo io non avevo risposto. Vediamo...
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!