GBase 8s
适配迁移
文章
GBase 8s支持表名列名存在大写字母特殊字符
发表于2024-07-03 13:35:37219次浏览11个评论
GBase 8s支持表名列名存在大写字母特殊字符
问:下面语句没有执行成功。表名,列名里需要有空格、特殊字符等,怎么办?

答:设置环境变量DELIMIDENT
设置方法 | export DELIMIDENT=Y export DELIMIDENT=N 或者不设置 |
y | 设置为y时,双引号会有特殊含义,被双引号括起来的字符串为数据库标识。
数据库标识符(也称为 SQL 标识符)是数据库对象(例如:表和列)的名称。 |
n或者不设置
|
双引号和单引号作用相同 |
下面给一些栗子:
示例1到示例4的前提:
#设置环境变量
export DELIMIDENT=Y
# 连接test库
dbaccess test -
示例1:
create table t1 ("Vitamin E" varchar(20));
select * from t1;
示例2:
create table t2 ("Vitamin#C" varchar(20));
select * from t2;
示例3:
--查询列"Vitamin E"时,不能省略双引号
select "Vitamin E" from t1;
示例4:
create table "t1 23 4"(id int);
insert into "t1 23 4" values(123);
select * from "t1 23 4";
示例5:会话级设置方式
--会话级
--set environment DELIMIDENT '1';开启
--set environment DELIMIDENT '0';关闭
dbaccess test -
--开启
> set environment DELIMIDENT '1';
> create table tt1(id int,"V C" char(20));
> select id,"V C" from tt1;
--关闭
> set environment DELIMIDENT '0';
> create table tt2(id int,"V C" char(20));
-
评论
登录后才可以发表评论
路路路发表于 9个月前
赞
GBase用户19279发表于 3个月前
1
GBase用户19279发表于 3个月前
2
GBase用户19279发表于 3个月前
3
GBase用户19279发表于 3个月前
4
GBase用户19279发表于 3个月前
5
路路路发表于 3个月前
赞
路路路发表于 3个月前
赞
路路路发表于 3个月前
赞
路路路发表于 3个月前
赞
路路路发表于 3个月前
赞
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526