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

字符类型

名称

描述

VARCHAR(n)

变长字符串,n指字节长度。

CHAR(n)

定长字符串,不足补空格。n是指字节长度,如不带精度n,默认为1。

VARBINARY

变长二进制数据。需要带上前缀X,如:X'65683F',暂不支持指定长度的二进制字符串。

JSON

取值可以是a JSON object、a JSON array、a JSON number、a JSON string、true、false or null。

STRING

兼容impala的String,底层是varchar。

BINARY

兼容hive的Binary,底层实现为varbinary。

  • SQL表达式中,支持简单的字符表达式,也支持Unicode方式,一个Unicode字符串是以U&为固定前缀,以4位数值表示的Unicode前需要加转义符。
    -- 字符表达式  
    select 'hello,winter!';  
          _col0         
    ------------------  
     hello,winter!   
    (1 row)  
    -- Unicode 表达式  
    select U&'Hello winter \2603 !';  
          _col0         
    ------------------  
     Hello winter ☃ !   
    (1 row)    
    -- 自定义转义符  
    select U&'Hello winter #2603 !' UESCAPE '#';  
          _col0         
    ------------------  
     Hello winter ☃ !   
    (1 row)  
  • VARBINARY与BINARY。
    -- 创建VARBINARY类型或BINARY类型的表
     create table binary_tb(col1 BINARY);
    
    -- 插入数据
     INSERT INTO binary_tb values (X'63683F');
    
    --查询数据
     select * from binary_tb ;  -- 63 68 3f 
  • 在做CHAR 数值比较的时候,在对两个仅尾部空格数不同的CHAR进行比较时,会认为它们是相等的。
    SELECT CAST('FO' AS CHAR(4)) = CAST('FO     ' AS CHAR(5));
     _col0 
    -------
     true  
    (1 row)

相关文档