postgre 数据类型--字符类型

Posted kingle-study

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于postgre 数据类型--字符类型的主要内容,如果未能解决你的问题,请参考以下文章

Postgres 数据类型转换

固定大小字符串的 Postgres 数据类型

在 slick、scala 中处理 Postgres json 数据类型

如何在 JSON Postgres 数据类型列中搜索特定字符串?

Django + Postgres:将 JSON 字符串作为 JSON 类型直接保存到模型中

postgres 将字符串插入数字列 - 不会发生自动类型转换