Trafodion是否支持元数据中的中文字符?

时间:2017-10-23 08:50:26

标签: database

我试图添加"评论" Trafodion的功能,设计是一个新专栏"评论"在元数据表" OBJECTS"。而且我计划在评论中支持中文字符,但我不确定我是否可以这样做。如果是,当我使用" showddl"命令显示表的定义,中文字符可以正确显示吗?

顺便说一句,我尝试创建一个中文字符作为列名的表,但失败了。

  
    

创建表测试(名字varchar(100));

  

***错误[15001]在或之前发生语法错误: create table test(名字varchar(100));                     ^(SQL语句开头20个字符)

***错误[8822]声明未准备好。

  
    

出口

  

1 个答案:

答案 0 :(得分:0)

很抱歉没有看到这个。目前,Trafodion需要中文字符的分隔标识符。以下陈述将起作用:

create table test("名字" varchar(100));

如果Trafodion接受中文和其他非ASCII字符而不需要双引号,那将是很好的。随意为此提交JIRA。

根据ISO / ANSI SQL标准,我们应该使用Unicode General Categories来确定哪些字符构成合法的非分隔标识符,这里是相关文本:

  

<标识符主体> :: =< identifier start> [<标识符部分> ...]

     

<标识符部分> :: =< identifier start> | < identifier extend>

...

  1. < identifier start> Unicode通用类别类中的任何字符“Lu”,“Ll”,“Lt”,“Lm”,“Lo”或“Nl”。 (注58 - Unicode通用类别类“Lu”,“Ll”,“Lt”,“Lm”,“Lo”和“Nl”分配给Unicode字符,分别是大写字母,低于大小写字母,标题大小写字母,修饰符字母,其他字母和字母数字。)

  2. <标识符扩展>是U + 00B7,“中间点”,或Unicode通用类别类“Mn”,“Mc”,“Nd”,“Pc”或“Cf”中的任何字符。 (注59 - Unicode通用类别类“Mn”,“Mc”,“Nd”,“Pc”和“Cf”分配给Unicode字符,分别是非间距标记,间距组合标记,十进制数字,连接器标点符号和格式代码。)