返回列表 发帖

如何在数据库的字段值中替代字符?

 

 X3里面的 无税 都写成 不含税, 或成本 都写成 价值,如何快速替换???

答 : 可以在 [工具-》搜索文本] 功能里面查到全部的文本编码,再 在[功能/ 文本翻译] 界面,一个一个地改,当然很麻烦。

 在数据库里呢?? 系统的多语言 文本内容 都放在 ATEXTE 表里面。 写语句,用 replace 函数 替换 字段 texte_0 字段的内容即可。

语句如下。  Oracle 和MS SQL SERVER 均可。

update  REFTEST.ATEXTE  SET texte_0=REPLACE(texte_0, '不含税', '无税') WHERE TEXTE_0 like  '%不含税%'

[此帖子已被 LiYa 在 2008-8-7 17:59:41 编辑过]

[此帖子已被 LiYa 在 2008-8-7 18:00:48 编辑过]

Re:如何在数据库的字段值中替代字符?

哈哈,高危险动作。

TOP

Re:如何在数据库的字段值中替代字符?

两个问题:

1、既然发现了这种汉化的问题,还请Sage中国能够在汉化工作方面做直接的修改,尽量避免直接操作数据库;

2、我按照你的条件进行SELECT操作,可出现的结果中TEXTE_0的字段显示的都是“????”,这是什么原因?

 

TOP

Re:如何在数据库的字段值中替代字符?

楼上的哥们很负责任的告诉你,你被忽悠了,MSSQL更新值为中文的话, 要在值前加N'?', 呵呵。

这是X3对MSSQL默认字符集设置的问题。

 

TOP

Re:如何在数据库的字段值中替代字符?

 

是的,wxwzy 你说的所谓问题其实不是问题, 乱码 是因为数据库里面的 汉字用Unicode表示,看到的是乱码, 除非 字符串前面加 N, 比如你试试:

select * from REFDY.ATEXTE  WHERE TEXTE_0  like   N'%税%'

问.SQL SERVER字符串前加N,什么含义?,
   请教:
看到SQL SERVER自己生成的脚本,字符串前通常都加一个N字母。
请问这个N说明什么含义?加与不加在SQL编写上有何影响?

答:是Unicode编码的意思,一般来说,英文字符是一个字节组成,但是国际上的字太多了,因此就用两个字节来表示字符,满足国际化的需要.
if your database's collation is english collation, such as sql_latin1_general_ci_as, and
if you want to input chinese characters into a nvarchar column, then you have to use
N'字符' to input chinese.
Note: '字符' is wrong character string for english collation, and can not be inserted into any varchar/nvarchar column

TOP

返回列表