6

MS OfficeのスマートクォートをASCIIのいとこに置き換えるSQLコマンドを知っている人はいますか?Oracleデータベースを使用しており、フィールドのタイプはvarchar2です。

4

5 に答える 5

4

update table set column = replace(replace(column, chr(147),'"'), chr(148), '"')

于 2009-03-19T18:50:40.970 に答える
2
REPLACE(REPLACE(str, '`', ''''), '´', '''')

または、私はあなたの質問を見逃していますか?

于 2009-03-19T18:46:12.383 に答える
1

同様の問題がありました。引用符がデータベースに保存された後、私にとっては「Â'」のように見えました。

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 ...

これが私がそれらを交換した方法です。最初に、通常とは異なる「Â」文字の 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 mae bwyd yn cael ei dyfu, ei brynu a'i baratoi ...

これは、Oracle 10 システムでうまく機能しました。

于 2010-01-13T09:56:02.703 に答える
0

TRANSLATE は REPLACE より適切です。

TRANSLATE(str, '`´', '''''')

http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/functions204.htm#sthref2477

于 2009-03-20T03:47:36.390 に答える
-2
update table set column = replace( column, string_to_replace, [ replacement_string ] )
于 2009-03-19T18:46:21.057 に答える