我试图添加"评论" Trafodion的功能,设计是一个新专栏"评论"在元数据表" OBJECTS"。而且我计划在评论中支持中文字符,但我不确定我是否可以这样做。如果是,当我使用" showddl"命令显示表的定义,中文字符可以正确显示吗?
顺便说一句,我尝试创建一个中文字符作为列名的表,但失败了。
创建表测试(名字varchar(100));
***错误[15001]在或之前发生语法错误: create table test(名字varchar(100)); ^(SQL语句开头20个字符)
***错误[8822]声明未准备好。
出口
答案 0 :(得分:0)
很抱歉没有看到这个。目前,Trafodion需要中文字符的分隔标识符。以下陈述将起作用:
create table test("名字" varchar(100));
如果Trafodion接受中文和其他非ASCII字符而不需要双引号,那将是很好的。随意为此提交JIRA。
根据ISO / ANSI SQL标准,我们应该使用Unicode General Categories来确定哪些字符构成合法的非分隔标识符,这里是相关文本:
<标识符主体> :: =< identifier start> [<标识符部分> ...]
<标识符部分> :: =< identifier start> | < identifier extend>
...
< identifier start> Unicode通用类别类中的任何字符“Lu”,“Ll”,“Lt”,“Lm”,“Lo”或“Nl”。 (注58 - Unicode通用类别类“Lu”,“Ll”,“Lt”,“Lm”,“Lo”和“Nl”分配给Unicode字符,分别是大写字母,低于大小写字母,标题大小写字母,修饰符字母,其他字母和字母数字。)
<标识符扩展>是U + 00B7,“中间点”,或Unicode通用类别类“Mn”,“Mc”,“Nd”,“Pc”或“Cf”中的任何字符。 (注59 - Unicode通用类别类“Mn”,“Mc”,“Nd”,“Pc”和“Cf”分配给Unicode字符,分别是非间距标记,间距组合标记,十进制数字,连接器标点符号和格式代码。)