有谁知道用他们的 ASCII 表亲替换 MS Office 智能引号的 SQL 命令?我正在使用 oracle 数据库,字段类型为 varchar2
Greg
问问题
7204 次
5 回答
4
更新表集列=替换(替换(列,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 函数来渲染“”。|| 函数连接两个字符。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 回答