postgre 数据类型--字符类型

01,字符类型

名字描述
character varying(n), varchar(n) 有限制的变长
character(n), char(n) 定长,空格填充
text 无限变长

 

02,类型介绍

  character_varying(n)存储的是变长字符类型,n是一个正整数,如果存储的字符串长度超出n则报错;如果存储的字符串长度比n小,charactervarying(n)仅存储字符串的实际位character(n)存储定长字符,如果存储的符串长度超出n则报错;如果存储的字符串长度比n小,则用空白填充

kingledb=> create table Kingle_Study_3 (a varchar(4),b character(4));
CREATE TABLE
Time: 8.473 ms
kingledb=> insert into Kingle_Study_3 values ('c','c');
INSERT 0 1
Time: 0.874 ms
kingledb=> select * from Kingle_Study_3   --可以看出明显的差别
kingledb-> ;
 a |  b
---+------
 c | c
(1 row)

Time: 0.543 ms

  charactervarying(n)类型果不声明长度,将存储任长度的符串,character(n)如果不长度等效于character(1text类型存储意长度字符串,没有声字符长度charactervarying型几乎没有

03,字符类型函数

   

kingledb=> select char_length('Kingle') --查看字符数
kingledb-> ;
 char_length
-------------
           6
(1 row)

Time: 0.801 ms
kingledb=> select octet_length('Kingle'); --占用字节数
 octet_length
--------------
            6
(1 row)

Time: 0.567 ms
kingledb=> select position('l' in 'kingle'); --字符串位置
 position
----------
        5
(1 row)

Time: 0.628 ms
kingledb=> select substring('kingle' from 3 for 4);  --字符串截取
 substring
-----------
 ngle
(1 row)

Time: 0.455 ms
posted on 2020-05-26 13:45  kingle-l  阅读(943)  评论(0编辑  收藏  举报

levels of contents