资讯专栏INFORMATION COLUMN

【Trafodion使用技巧篇】Trafodion 对中文的支持

winterdawn / 2508人阅读

摘要:在数据库,当我们设定一个字段类型为字符类型的时候如或,字符编码会以数据库默认的字符编码为准。此时如果想插入中文字符会报错,解决方法就是修改字符的编码类型为。中国现在我们再通过查看字段属性已修改为类型,这时插入中文字符成功。

在Trafodion数据库,当我们设定一个字段类型为字符类型的时候(如CHAR或VARCHAR),字符编码会以数据库默认的字符编码为准。

比如下面例子,创建有一个字符类型字段的表,通过SHOWDDL命令可以看到这个字段的编码方式为ISO88591。

SQL>drop table seabase.test_chinese;
create table seabase.test_chinese (rol_a varchar(10));
showddl seabase.test_chinese;
--- SQL operation complete.
 
SQL>
--- SQL operation complete.
 
SQL>
 
 
CREATE TABLE TRAFODION.SEABASE.TEST_CHINESE
  (
    ROL_A                            VARCHAR(10) CHARACTER SET ISO88591 COLLATE
      DEFAULT DEFAULT NULL SERIALIZED
  )
;
 
--- SQL operation complete.

此时如果想插入中文字符会报错,解决方法就是修改字符的编码类型为UTF8。

SQL>insert into seabase.test_chinese values("中国");
 
*** ERROR[8690] An invalid character value encountered in TRANSLATE function. [2016-10-25 06:22:47]
 
SQL>alter table seabase.test_chinese alter column rol_a varchar(10) character set utf8;
 
--- SQL operation complete.

现在我们再通过SHOWDDL查看字段属性已修改为UTF8类型,这时插入中文字符成功。

SQL>showddl seabase.test_chinese;
 
 
CREATE TABLE TRAFODION.SEABASE.TEST_CHINESE
  (
    ROL_A                            VARCHAR(10 CHARS) CHARACTER SET UTF8
      COLLATE DEFAULT DEFAULT NULL SERIALIZED /*altered_col*/
  )
;
 
--- SQL operation complete.
 
SQL>insert into seabase.test_chinese values("中国");
 
--- 1 row(s) inserted.
 
SQL>select * from seabase.test_chinese;
 
ROL_A
----------------------------------------
中国
 
--- 1 row(s) selected. 

当然我们也可以在建表的时候直接定义字段类型为UTF8,方法如下:

SQL>create table test_chinese(rol_a varchar(10) character set utf8);
 
--- SQL operation complete.
 
SQL>showddl test_chinese;
 
 
CREATE TABLE TRAFODION.SEABASE.TEST_CHINESE
  (
    ROL_A                            VARCHAR(10 CHARS) CHARACTER SET UTF8
      COLLATE DEFAULT DEFAULT NULL NOT SERIALIZED
  )
 ATTRIBUTES ALIGNED FORMAT
;
 
--- SQL operation complete.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/17813.html

相关文章

  • Apache Trafodion技术架构介绍

    摘要:它主要包括以下几部分采用对文本进行文法分析,生成语法树。对语法树进一步进行分析,类似程序编译器的语义分析,对语法合格的进一步进行检查。优化器对语法树应用各种规则,生成不同的执行计划,形成一个搜索空间。 Trafodion简介 Trafodion是一个构建在Hadoop/HBase基础之上的关系型数据库,它完全开源免费。Trafodion能够完整地支持ANSI SQL,并且提供ACID事...

    DevYK 评论0 收藏0
  • Apache Trafodion技术架构介绍

    摘要:它主要包括以下几部分采用对文本进行文法分析,生成语法树。对语法树进一步进行分析,类似程序编译器的语义分析,对语法合格的进一步进行检查。优化器对语法树应用各种规则,生成不同的执行计划,形成一个搜索空间。 Trafodion简介 Trafodion是一个构建在Hadoop/HBase基础之上的关系型数据库,它完全开源免费。Trafodion能够完整地支持ANSI SQL,并且提供ACID事...

    zhjx922 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<