SQL заменит умные кавычки - PullRequest
       18

SQL заменит умные кавычки

4 голосов
/ 19 марта 2009

Кто-нибудь знает команду SQL для замены умных кавычек MS Office их кузенами ASCII? Я использую базу данных Oracle и поля имеют тип varchar2

Ответы [ 5 ]

3 голосов
/ 19 марта 2009

обновить таблицу набора столбцов = заменить (заменить (столбец, chr (147), '"'), chr (148), '"')

2 голосов
/ 19 марта 2009
REPLACE(REPLACE(str, '`', ''''), '´', '''')

Или я скучаю по твоему вопросу?

1 голос
/ 13 января 2010

У меня была похожая проблема. Для меня после того, как цитаты были сохранены в базе данных, они выглядели так: «В».

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

Мэйд форедд гиналиадви и мэй бвид йен чел эй дифу, эй брыну аи баратои ...

Так я их заменил. Сначала найдите значение ascii для этого необычного символа "Â".

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

Затем используйте функцию chr для рендеринга "Â". || Функция объединяет два символа. Функция 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.

0 голосов
/ 20 марта 2009

TRANSLATE будет более подходящим, чем REPLACE.

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

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

0 голосов
/ 19 марта 2009
update table set column = replace( column, string_to_replace, [ replacement_string ] )
...