Kennt jemand einen SQL-Befehl, um MS Office-Anführungszeichen mit ihren ASCII-Vettern zu ersetzen? Ich verwende eine Oracle-Datenbank und die Felder sind vom Typ varchar2SQL zum Ersetzen von intelligenten Anführungszeichen
Antwort
REPLACE(REPLACE(str, '`', ''''), '´', '''')
Oder fehlt mir Ihre Frage?
update table set column = replace(column, string_to_replace, [ replacement_string ])
Aktualisierungstabelle Satz column = ersetzt (ersetzen (Spalte, chr (147), ' "'), chr (148), '"')
TRANSLATE wäre besser geeignet ist als REPLACE.
TRANSLATE(str, '`´', '''''')
http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/functions204.htm#sthref2477
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.
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
Codepages Schmode Seiten ... Sie haben natürlich Recht. – Rich