有没有人知道用他们的ASCII表兄弟替换MS Office智能引号的SQL命令?我正在使用oracle数据库,字段的类型为varchar2
答案 0 :(得分:3)
更新表set column = replace(replace(column,chr(147),'“'),chr(148),'”')
答案 1 :(得分:2)
REPLACE(REPLACE(str, '`', ''''), '´', '''')
或者我错过了你的问题?
答案 2 :(得分: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函数渲染“”。 ||函数连接两个字符。 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系统上,这对我来说很合适。
答案 3 :(得分:0)
TRANSLATE比REPLACE更合适。
TRANSLATE(str, '`´', '''''')
http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/functions204.htm#sthref2477
答案 4 :(得分:-1)
update table set column = replace( column, string_to_replace, [ replacement_string ] )