数据仓库服务 GAUSSDB(DWS)-字符类型:长度

时间:2024-01-26 16:15:20

长度

如果把一个字段定义为char(n)或者varchar(n), 代表该字段最大可容纳n个长度的数据。无论哪种类型,可设置的最大长度都不得超过10485760(即10MB)。

当数据长度超过指定的长度n时,会抛出错误"value too long"。也可通过指定数据类型,使超过长度的数据自动截断。

示例:

  1. 创建表t1,指定其字段的字符类型。
    1
    CREATE TABLE t1 (a char(5),b varchar(5));
    
  2. 向表t1插入数据时超过指定的字节长度报错。
    1
    2
    3
    INSERT INTO t1 VALUES('bookstore','123');
    ERROR:  value too long for type character(5)
    CONTEXT:  referenced column: a
    
  3. 向表t1插入数据并明确超过指定字节长度后自动截断。
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO t1 VALUES('bookstore'::char(5),'12345678'::varchar(5));
    INSERT 0 1
    
    SELECT a,b FROM t1;
       a   |   b
    -------+-------
     books | 12345
    (1 row)
    
support.huaweicloud.com/sqlreference-820-dws/dws_06_0012.html