2009-03-19 5 views

Antwort

2
REPLACE(REPLACE(str, '`', ''''), '´', '''') 

Oder fehlt mir Ihre Frage?

-1
update table set column = replace(column, string_to_replace, [ replacement_string ]) 
3

Aktualisierungstabelle Satz column = ersetzt (ersetzen (Spalte, chr (147), ' "'), chr (148), '"')

+1

Dies ist richtig, wenn der Zeichensatz in der Datenbank Codepage 1252 (Westeuropäisch) oder ein paar ähnliche Codepages ist. Für andere Zeichensätze können intelligente Anführungszeichen anders codiert werden. – bobince

+0

Codepages Schmode Seiten ... Sie haben natürlich Recht. – Rich

1

Ich habe ein ähnliches Problem hatte. Nachdem die Zitate in der Datenbank gespeichert waren, erschienen sie für mich "".

SELECT abstract FROM foo WHERE version = '1.0' and newscode = 'au20309'; 

MaeÂ'r Ffordd gynaliadwy y mae bwyd yn cael ei dyfu, ei brynu aÂ'i baratoi ...

Dies ist, wie ich sie ersetzt. Finden Sie zuerst den ASCII-Wert für dieses ungewöhnliche Zeichen "".

Verwenden Sie dann die CHR-Funktion zum Rendern der "Â". Die || Funktion verketten die zwei Zeichen. Die q-Funktion ist es, 'Zitat' die intelligente Zitat String nützlich ..

SELECT REPLACE(abstract,chr(50050) || q'#’#' , q'#'#') 
FROM foo 
WHERE version = '1.0' and newscode = 'au20309'; 

Mae'r Ffordd gynaliadwy y mae bwyd yn cael ei dyfu, ei brynu a'i baratoi ...

Diese funktionierte für mich auf unserem Oracle 10 System.