返回首页

gbase数据、南大通用产品文档:GBase8aDATE(expr)

更新日期:2024年09月11日

函数说明
从date 或者datetime 表达式expr 中取得日期部分。
如果expr 是一个非法日期字符串,则返回NULL。
示例
示例1:从datetime 表达式中取得日期部分。
gbase> SELECT DATE('2019-09-05 11:22:03') FROM dual;
+-----------------------------+
| DATE('2019-09-05 11:22:03') |
+-----------------------------+
| 2019-09-05
|

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
782
+-----------------------------+
1 row in set
示例2:expr 是一个非法日期字符串,则返回NULL。
gbase> SELECT DATE('2019-09-32 11:22:03') FROM dual;
+-----------------------------+
| DATE('2019-09-32 11:22:03') |
+-----------------------------+
| NULL
|
+-----------------------------+
1 row in set, 1 warning
gbase> SHOW WARNINGS;
+-------+------+---------------------------------------------------------------------+
| Level | Code | Message
|
+-------+------+---------------------------------------------------------------------+
| Note
| 1292 |172.168.83.11:5050 - Incorrect datetime value: '2019-09-32
11:22:03' |
+-------+------+---------------------------------------------------------------------+
1 row in set (Elapsed: 00:00:00.00)

语法格式
create [temporary] table [if not exists] [vc_name.][database_name.]table_name
(create_definition,...)
create_definition:
col_name column_definition
column_definition:
data_type [not null] [default default_value]
[auto_increment] [primary key]
表5- 85 参数说明
参数名称


vc_name
vc 名,可选项。
database_name
数据库名,可选项。
table_name
表名。
data_type
data_type 为tinyint、smallint、int、bigint。
说明

自增列的属性必须为not null;

创建自增列时必须带primary key 关键字(8a 不支持primary key 功
能,此处primary key 仅作为语法兼容);

每个表最多只能有一个自增列。

自增列不能是hash 分布列
示例
示例1:随机分布表上创建自增列

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1008
gbase> CREATE TABLE t1(name varchar(10),id int not null primary key
auto_increment);
Query OK, 0 rows affected (Elapsed: 00:00:00.08)
gbase> SHOW CREATE TABLE t1 \G
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE "t1" (
"name" varchar(10) DEFAULT NULL,
"id" int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY ("id")
)
ENGINE=EXPRESS
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'
1 row in set (Elapsed: 00:00:00.00)
示例2:复制表上创建自增列
gbase> CREATE TABLE t2(a int not null primary key auto_increment, b
varchar(100)) replicated;
Query OK, 0 rows affected (Elapsed: 00:00:00.08)
gbase> SHOW CREATE TABLE t2 \G
*************************** 1. row ***************************
Table: t2
Create Table: CREATE TABLE "t2" (
"a" int(11) NOT NULL AUTO_INCREMENT,
"b" varchar(100) DEFAULT NULL,
PRIMARY KEY ("a")
)
ENGINE=EXPRESS
REPLICATED
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1009
1 row in set (Elapsed: 00:00:00.00)
示例3:哈希分布表上创建自增列
gbase> CREATE TABLE t3(name varchar(10),id int not null primary key
auto_increment) distributed by ('name');
Query OK, 0 rows affected (Elapsed: 00:00:00.08)
gbase> SHOW CREATE TABLE t3 \G
*************************** 1. row ***************************
Table: t3
Create Table: CREATE TABLE "t3" (
"name" varchar(10) DEFAULT NULL,
"id" int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY ("id")
) ENGINE=EXPRESS DISTRIBUTED BY('name') DEFAULT CHARSET=utf8
TABLESPACE='sys_tablespace'
1 row in set (Elapsed: 00:00:00.00)
示例4:分区表上创建自增列
gbase> CREATE TABLE t4(i int default 0,id int auto_increment primary
key )
partition by range(i) partitions 2
subpartition by hash(i) subpartitions 2
(
partition
p0 values less than (50001)
(subpartition sb0,
subpartition sb1
),
partition
p1 values less than (100001)

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1010
(subpartition sb10,
subpartition sb11
)
) ;
Query OK, 0 rows affected (Elapsed: 00:00:00.11)
gbase> SHOW CREATE TABLE t4 \G
*************************** 1. row ***************************
Table: t4
Create Table: CREATE TABLE "t4" (
"i" int(11) DEFAULT '0',
"id" int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY ("id")
)
ENGINE=EXPRESS
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'
PARTITION BY RANGE (i)
SUBPARTITION BY HASH (i)
(PARTITION p0 VALUES LESS THAN (50001)
(SUBPARTITION sb0 ENGINE = EXPRESS,
SUBPARTITION sb1 ENGINE = EXPRESS),
PARTITION p1 VALUES LESS THAN (100001)
(SUBPARTITION sb10 ENGINE = EXPRESS,
SUBPARTITION sb11 ENGINE = EXPRESS))
1 row in set (Elapsed: 00:00:00.01)

GBA-02DD-0020
错误码
错误标识
错误信息
GBA-02DD-002
0

Currently, we don't support renaming
more than one tables at the same time
错误出现原因
不允许在同一条SQL 中同时重命名多个表。
分析与建议
把一条rename table 根据表,拆分成若干条rename table 后重试即可