ob mysql视图字段名长度问题

目前版本:5.7.25-OceanBase_ActionDB_CE-v4.2.1.3

问题:
创建一个表:字段名使用中文且名字较长
create table test1
(
业务量(万元)_燃气计量服务_表具检测_非居表无线通讯检测 varchar(255)
);

创建视图:
create or replace view ttt2 as select “业务量(万元)_燃气计量服务_表具检测_非居表无线通讯检测” from test1;

查询视图时,字段名却变成下面字符了,请教啥什么原因,如何解决吗
Name_exp_1

2 个赞


这个符号()不可以设置为中文

1 个赞

但是名字缩短一点就可以了

1 个赞

ob存在列名长度限制,列名最大长度均为 128 字节

1 个赞

业务量(万元)_燃气计量服务_表具检测_非居表无线通讯检测

这个名字长度应该是96个字节,没有超过128

1 个赞

为什么会给字段取中文名啊,一般的开发规范都不让这样吧

1 个赞

我有一个需求,这个中文字段名本身不是字段名,是通过拼接字段值进行行转列生成的

1 个赞

会不会是全角的问题呢


不能写*,写具体字段名就能查出来,想问下这个可以通过升级数据库版本解决吗,还请官方人员验证下

image
这边测试是可以查询到的

您查的是这个表,您查下这个视图试试(ttt2)


通过查看ddl发现 ob自动给重命名为英文的了

是的,我在mysql5.7.33上试是正常显示的

应该是别名超过64字节会自动生成一个Name_exp_X这样的名字

多数数据库及系统都有限制啊