更新时间:2024-12-10 GMT+08:00
分享

字符串类型

概述

MySQL以字符单位解释字符列定义中的长度规范。这适用于 CHAR、VARCHAR和TEXT类型。DSC工具支持以下列出类型转换。

类型对照

表1 字符串类型对照表

MySQL字符串类型

MySQL INPUT

GaussDB(DWS) OUTPUT

CHAR

CHAR[(0)]

CHAR[(n)]

CHAR[(1)]

CHAR[(4n)]

CHARACTER

CHARACTER[(0)]

CHARACTER[(n)]

CHAR[(1)]

CHAR[(4n)]

NCHAR

NCHAR[(0)]

NCHAR[(n)]

CHAR[(1)]

CHAR[(4n)]

LONGTEXT

LONGTEXT

TEXT

MEDIUMTEXT

MEDIUMTEXT

TEXT

TEXT

TEXT

TEXT

TINYTEXT

TINYTEXT

TEXT

VARCHAR

VARCHAR[(0)]

VARCHAR[(n)]

VARCHAR[(1)]

VARCHAR[(4n)]

NVARCHAR

NVARCHAR[(0)]

NVARCHAR[(n)]

VARCHAR[(1)]

VARCHAR[(4n)]

CHARACTE VARYING

CHARACTE VARYING

VARCHAR

  • CHAR/CHARACTER/NCHAR进行转换时,如果其精度小于等于0时,转换后为CHAR(1),如果精度大于0,则转换为CHAR类型4倍的精度大小。
  • VARCHAR/NVARCHAR进行转换时,如果其精度小于等于0时,转换后为VARCHAR(1),如果精度大于0,则转换为VARCHAR类型4倍的精度大小。

输入示例CHAR

MySQL一个长度CHAR列被固定在创建表声明的长度,长度可以是从0到255之间的任何值。CHAR存储值时,它们将空格填充到指定的长度。

1
2
3
4
5
CREATE TABLE IF NOT EXISTS `runoob_dataType_test`(
   `dataType_1` CHAR NOT NULL,
   `dataType_2` CHAR(0) NOT NULL,
   `dataType_3` CHAR(255) NOT NULL
);

输出示例

1
2
3
4
5
6
7
8
9
CREATE TABLE IF NOT EXISTS "public"."runoob_datatype_test"
(
  "datatype_1" CHAR NOT NULL,
  "datatype_2" CHAR(1) NOT NULL,
  "datatype_3" CHAR(1020) NOT NULL
)
  WITH ( ORIENTATION = ROW, COMPRESSION = NO )
  NOCOMPRESS
  DISTRIBUTE BY HASH ("datatype_1");

输入示例[LONG|MEDIUM|TINY]TEXT

1
2
3
4
5
6
CREATE TABLE IF NOT EXISTS `runoob_dataType_test`(
    `dataType_1` LONGTEXT,
    `dataType_2` MEDIUMTEXT,
    `dataType_3` TEXT,
    `dataType_4` TINYTEXT
);

输出示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
CREATE TABLE IF NOT EXISTS "public"."runoob_datatype_test"
(
  "datatype_1" TEXT,
  "datatype_2" TEXT,
  "datatype_3" TEXT,
  "datatype_4" TEXT
)
  WITH ( ORIENTATION = ROW, COMPRESSION = NO )
  NOCOMPRESS
  DISTRIBUTE BY HASH ("datatype_1");

输入示例VARCHAR

MySQL VARCHAR列中的 值是可变长度的字符串。长度可以指定为0到65,535之间的值。

1
2
3
4
CREATE TABLE IF NOT EXISTS `runoob_dataType_test`(
    `dataType_1` VARCHAR(0),
    `dataType_2` VARCHAR(1845)
);

输出示例

1
2
3
4
5
6
7
8
CREATE TABLE IF NOT EXISTS "public"."runoob_datatype_test"
(
  "datatype_1" VARCHAR(1),
  "datatype_2" VARCHAR(7380)
)
  WITH ( ORIENTATION = ROW, COMPRESSION = NO )
  NOCOMPRESS
  DISTRIBUTE BY HASH ("datatype_1");

相关文档