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');
INSERT01
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(1)。text字符类型存储任意长度的字符串,和没有声明字符长度的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'from3for4);  --字符串截取
substring
-----------
ngle
(1 row)
Time: 0.455 ms

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。