2009-03-19 5 views
4

誰かがMS Officeスマート引用符をASCIIの同類と置き換えるSQLコマンドを知っていますか?私はoracleデータベースを使用していますが、フィールドはvarchar2タイプですスマート引用符を置き換えるSQL

答えて

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

質問がありません。

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

更新テーブルセットカラム=交換(交換(カラム、CHR(147)、 " '')、CHR(148)、" '')

+1

データベースのキャラクタ・セットがコード・ページ1252(西ヨーロッパ言語)またはそれに類するコード・ページの場合は、これが正しいです。他の文字セットの場合、スマート・クォートは別々にエンコードされることがあります。 – bobince

+0

コードページschmodeページ... もちろん正しいです。 – Rich

1

私は同様の問題がありました。引用符がデータベースに格納された後私のために、彼らは "Â '"ように見えた。

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

MaeÂ'rffordd gynaliadwy Yメイbwyd YN cael EI dyfu、EI brynuaÂ'ibaratoi ...

これは私がそれらを置き換える方法です。最初にその珍しい "Â"文字のascii値を見つけます。

SELECT ascii('Â') FROM DUAL; -- returns 50050 

次に、 "Â"を表示するには、chr関数を使用します。 ||関数は2つの文字を連結します。 Q関数は..

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

Mae'r ffordd gynaliadwy Yメイbwyd YN cael EI dyfu、EI brynu a'i baratoi ...

これを '引用' スマート引用符文字列に便利です私のOracle 10システムでうまくいきました。

関連する問題