VARCHAR(m)
存储的是变长字符串,m 表示该列中串的字符长度,其范围对于utf8 字符集是1
到10922 个字符,对于gbk 字符集是1 到16383 个字符。
当存储VARCHAR 类型的数据时,不会用空格填充补足列定义长度,存储的数据
包含空格时,保留空格。
示例
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
631
示例1:VARCHAR 数据类型不会补足列定义的长度,但会保留插入的数据中的
空格。
示例中所用的表及数据:
gbase> CREATE TABLE products (productName VARCHAR(100));
gbase> INSERT INTO products(productName) VALUES('南大通用');
gbase> INSERT INTO products(productName) VALUES('
南大通用');
gbase> SELECT productName,
LENGTH(productName) AS length,
CHAR_LENGTH(productName) AS char_length FROM products;
+----------------+--------+-------------+
| productName
| length | char_length |
+----------------+--------+-------------+
| 南大通用
|
12 |
4 |
|
南大通用
|
14 |
6 |
+----------------+--------+-------------+
2 rows in set
gbase> SELECT productName FROM products WHERE productName = '南
大通用';
+--------------+
| productName
|
+--------------+
| 南大通用
|
+--------------+
1 row in set
查询结果中保留原始数据中的空格:
gbase> SELECT productName FROM products WHERE productName = '
南大通用';
+----------------+
| productName
|
+----------------+
|
南大通用
|
+----------------+
1 row in set