https://blog.csdn.net/u013992330/article/details/76653361/

postgresql数据库varchar、char、text的比较

2017年08月04日 09:24:53 password-u 阅读数:19690

名字 描述
character varying(n), varchar(n) 变长,有长度限制
character(n), char(n) 定长,不足补空白
text 变长,无长度限制

简单来说,varchar的长度可变,而char的长度不可变,对于postgresql数据库来说varchar和char的区别仅仅在于前者是变长,而后者是定长,最大长度都是10485760(1GB)

varchar不指定长度,可以存储最大长度(1GB)的字符串,而char不指定长度,默认则为1,这点需要注意。

text类型:在postgresql数据库里边,text和varchar几乎无性能差别,区别仅在于存储结构的不同

对于char的使用,应该在确定字符串长度的情况下使用,否则应该选择varchar或者text

官方解读:

SQL定义了两种基本的字符类型:character varying(n) 和character(n),这里的n 是一个正整数。两种类型都可以存储最多n个字符的字符串(没有字节)。试图存储更长的字符串到这些类型的字段里会产生一个错误,除非超出长度的字符都是空白,这种情况下该字符串将被截断为最大长度。这个看上去有点怪异的例外是SQL标准要求的。如果要存储的字符串比声明的长度短,类型为character的数值将会用空白填满;而类型为character varying的数值将只是存储短些的字符串。

如果我们明确地把一个数值转换成character varying(n) 或character(n),那么超长的数值将被截断成n 个字符,且不会抛出错误。这也是SQL标准的要求。

varchar(n)和char(n) 分别是character varying(n) 和character(n)的别名,没有声明长度的character等于character(1);如果不带长度说明词使用character varying,那么该类型接受任何长度的字符串。后者是PostgreSQL的扩展。

另外,PostgreSQL提供text类型,它可以存储任何长度的字符串。尽管类型text不是SQL 标准,但是许多其它SQL数据库系统也有它。

character类型的数值物理上都用空白填充到指定的长度n,并且以这种方式存储和显示。不过,填充的空白是无语意的。在比较两个character 值的时候,填充的空白都不会被关注,在转换成其它字符串类型的时候, character值里面的空白会被删除。请注意,在character varying和text数值里,结尾的空白是有语意的。并且当使用模式匹配时,如LIKE,使用正则表达式。

一个简短的字符串(最多126个字节)的存储要求是1个字节加上实际的字符串,其中包括空格填充的character。更长的字符串有4个字节的开销,而不是1。长的字符串将会自动被系统压缩,因此在磁盘上的物理需求可能会更少些。更长的数值也会存储在后台表里面,这样它们就不会干扰对短字段值的快速访问。不管怎样,允许存储的最长字符串大概是1GB 。允许在数据类型声明中出现的n 的最大值比这还小。修改这个行为没有什么意义,因为在多字节编码下字符和字节的数目可能差别很大。如果你想存储没有特定上限的长字符串,那么使用text 或没有长度声明的character varying,而不要选择一个任意长度限制。

提示: 这三种类型之间没有性能差别,除了当使用填充空白类型时的增加存储空间,和当存储长度约束的列时一些检查存入时长度的额外的CPU周期。虽然在某些其它的数据库系统里,character(n) 有一定的性能优势,但在PostgreSQL里没有。事实上,character(n)通常是这三个中最慢的,因为额外存储成本。在大多数情况下,应该使用text 或character varying。

PostgreSQL字符类型:CHARVARCHARTEXT

阅读数 489

PostgreSQL字符类型:CHAR,VARCHAR和TEXTPostgreSQL字符类型简介总结最近在复习Python的基础知识并学习新的框架,学习过程中碰到一些小疑问,啃了一下英文文献并在此记录...博文来自: 孤影惆怅的博客

postgresql数据类型varchar长度

阅读数 1万+

Table8-4.字符类型名字描述charactervarying(n), varchar(n)变长,有长度限制character(n), char(n)定长,不足补空白text变长,无长度限制个人做...博文来自: sinat_27643981的博客

VARCHAR 和 TEXT 长度问题

阅读数 3040

关于varchar、text字段类型的长度问题探究结果VARCHAR :varchar在mysql中满足最大行限制,也就是 65535(16k)字节,在mysql中使用 uft-8(mysql中的 u...博文来自: Mark_Xu的博客

MySQL VARCHAR字段最大长度到底是多少

阅读数 86

varchar(n),n表示什么?MySQL5.0.3之前varchar(n)这里的n表示字节数MySQL5.0.3之后varchar(n)这里的n表示字符数,比如varchar(200),不管是英文...博文来自: zhengshg的博客

PostgreSQL 中类型转换

阅读数 4065

PostgreSQL中所有的类型都可以使用单引号(‘’)来输入。warehouse_db=#selectint'1'+int'100';?column? ----------101(1row)Post...博文来自: dufemt的博客

PostgreSQL 字段类型转换

阅读数 1819

语法ALTERTABLE表名ALTERCOLUMN列名TYPE类型USING列名::类型示例在public库中有表A,A表中有列Bvarchar,现在要列B的类型转换成float类型ALTERTABL...博文来自: u013569612的博客

MySQL性能优化之charvarchartext的区别

阅读数 2万+

text/char/varchar的区别博文来自: brycegao321的博客

在MySQL中,VARCHARCHAR的区别是什么?VARCHAR(50)中的50代表的含义是什么?

阅读数 1万+

答案:CHAR是一种固定长度的类型,VARCHAR则是一种可变长度的类型。CHAR列的长度固定为创建表时声明的长度。长度可以为从0到255的任何值。当保存CHAR值时,在它们的右边填充空格以达到指定的...博文来自: 脱颖而出

charvarcharvarchar2区别

阅读数 5328

charvarcharvarchar2的区别 区别:1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的,比如,存储字符串“abc",对于CHAR(20),表示你存储的字符将占20个字节(...博文来自: awhip9的博客

PostgreSQL字符类型:CHAR,VARCHARTEXT - 孤影惆怅的..._CSDN博客

2-12

的三种类型对比CHAR,VARCHAR和TEXT,对比之间的关系并...跟其他数据库不一样是,在PostgreSQL中,三种字符类型...博文 来自: u013992330的博客 informix的字符串类型...

mysql中char,varchartext类型的区别和选用 - GeniusS..._CSDN博客

5-10

MySql 中 varchar 和varchar 的区别

阅读数 4087

一般初学会认为,二者占用的空间是一样的。比如说我存储5个char,二者都是实际占用了5个char了【勘误:varchar在实际存储的时候会多一个byte用来存放长度】。但是深入一下,设计数据库的时候,...博文来自: dearwind153的专栏

PostgreSQL中character、character varing、text数据类..._CSDN博客

5-24

postgresql数据库varchar、char、text的比较 08-04 阅读数 1万+ 名字描述character...博文 来自: u013992330的博客 pgsql 如何对varchar数据求和,存放的是数字字...

PostgreSQL中的char类型 - PG_HGDB的博客 - CSDN博客

4-15

postgresql数据库varchar、char、text的比较 08-04 阅读数 1万+ 名字描述...博文 来自: u013992330的博客 PostgreSQL to_char 数据类型格式化函数 12-26...

MySQL中varchar最大长度是多少?

阅读数 2万+

原文地址:http://www.cnblogs.com/gomysql/p/3615897.html一.varchar存储规则:4.0版本以下,varchar(20),指的是20字节,如果存放UTF8...博文来自: Alf的专栏

postgresql数据库character varying和character区别 - ..._CSDN博客

5-31

character varying(n), varchar(n) 变长,有长度限制 character(n), char(n)...postgresql数据库varchar、char、text的比较 u013992330 19277次阅读 08-04 APP...

postgresql数据类型varchar长度 - sinat_27643981的博客 - CSDN博客

5-24

postgresql数据库varchar、char、text的比较 08-04 阅读数 1万+ 名字描述...博文 来自: u013992330的博客 为什么mysql的varchar字符长度会被经常性的设置成...

char-varchar

阅读数 444

CHAR和VARCHAR类型声明的长度表示你想要保存的最大字符数。char长度固定,字符串本身长度,无长度记录。定义时必须有长度修饰,长度不足指定长度用空格填充(填充右边),超过截断。保存和检索时自动...博文来自: 笃行淡言

postgreSQL常用基本类型

阅读数 93

1.修改表结构    altertablep_rulesrecordalter feedbacktypecharactervarying(4000) altertablep_checkitemrena...博文来自: fzd85的专栏

MySQL中charvarchartext的区别 - mjshldcsd的专栏 - CSDN博客

4-8

postgresql数据库varchar、char、text的比较 08-04 阅读数 1万+ 名字描述character...博文 来自: u013992330的博客 MySQL 字段类型varchar,CHAR,text 12-01 ...

...不同索引所支持的字段数据类型 - u013992330的博客 ..._CSDN博客

10-23

postgresql数据库varchar、char、text的比较 阅读量:10758 js Date()函数常用方法...u013992330:还有一点需要注意,就是编译的boost库的位数,cmake时要求的boost的库...

PostgreSQL 类型转换

阅读数 5万+

PostgreSQL类型转换   类似Oracle,PostgreSQL也有强大的类型转换函数,下面仅举两个类型转换例子。      --1例子postgres=#select1/4; ?column...博文来自: wy978651775的专栏

Postgresql数据库的一些字符串操作函数 - design321的..._CSDN博客

10-23

postgresql数据库varchar、char、text的比较 08-04 1.1万 名字描述 character...来自: u013992330的博客 PostgreSQL 判断字符串包含的几种方法 05-03 1.2万...

postgresql数据类型之CHAR NCHAR VARCHAR2 NVARCHAR2

阅读数 1366

postgresql中没有NCHARVARCHAR2 NVARCHAR2数据类型。在oracle向postgresql迁移过程中可以参考使用如下数据类型对应之:CHARCHARNCHARCHARVAR...博文来自: PG_HGDB的博客

PostgreSql数据库中表字段由类型varchar改变成整型

阅读数 7906

今天同事在修改一个表的字段类型时,遇到了博文来自: chuan_day的专栏

postgreSql中将Varchar类型字段修改为Int类型报错

阅读数 1374

项目使用postgreSql数据库,先需要将库中的某个表中的某个字段类型由Varchar改成Int,直接右键设计表,修改类型为int,保存的时候报错,错误如下:意思就是,这个crt_user字段不能自...博文来自: 夏目_muzi_920316的博客

String、char值相等比较

阅读数 1万+

有时在写代码时会不小心在比较String与String值相等,char与char值相等时会没弄清楚”==”与equals()两种比较方法的区别就直接选一个用上了,最后在Debug时才发现以为是true...博文来自: Enchanted_ZhouH的博客

VarCharVarChar2的区别

阅读数 2万+

varchar      存放固定长度的字符数据,最长2000个字符。varchar2   存放可变长字符数据,最大长度为4000字符。,最大長度為4000字符。varchar    是标准sql提供...博文来自: sunny110的专栏

mysql之charvarchartext

阅读数 3278

char、varchar和text是mysql数据库中使用的三种字符串类型,简述一下三者之间的区别。-char(n)定长字符串,n表示字符数上限,超过存储上限字符会被截断。n也是存储空间的实际长度,不...博文来自: 王小黑的博客

operator does not exist: integer = character varying

阅读数 7170

postgresql抛出的错误,原因是数据库字段为integer数据类型而传入的是character数据类型。结合自己代码:这里controller传入的是string数组;mapper中遍历数组;而...博文来自: Dimple_Tian的博客

PostgreSQL C风格函数TEXT优化

阅读数 322

使用PostgreSQLC风格函数注意事项1.在C函数中不检查参数是否为NULL,NULL参数检查在createfunctionsql中设置strict实现.2.当用PG_GETARG_xx获取参数后...博文来自: kmblack1的专栏

PostgreSQL 数据类型

阅读数 1926

PostgreSQL数据类型6.1概述    PostgreSQL提供了丰富的数据类型。用户可以使用CREATETYPE命令在数据库中创建新的数据类型。PostgreSQL的数据类型被分为四种,分别是...博文来自: 白衣

PostgreSQL中character、character varing、text数据类型的区别

阅读数 5762

PostgreSQL中charactercharactervaringtext数据类型的区别一测试环境测试表PostgreSQL中character、charactervaring、text数据类型的...博文来自: 白衣

PostgreSQL常用数据类型

阅读数 74

一、数值类型 名字存储空间描述范围smallint2字节小范围整数-32768到+32767integer4字节常用的整数范围-2147483648到+2147483647bigint8字节大范围的整...博文来自: jc_1990m的专栏

使用PostGreSQL数据库进行text录入和text检索

阅读数 566

中文分词ChineseParse.csusingSystem;usingSystem.Collections;usingSystem.IO;usingSystem.Text.RegularExpres...博文来自: 极客神殿

text和blob的各种类型存储长度

阅读数 8681

text和blob的各种类型存储长度,我们用如下的表格表示:TinyBlob                           最大长度255个字元(2^8-1) TinyText         ...博文来自: A11085013的专栏

postgreSQL格式化时间的函数详解

阅读数 15万+

数据类型格式化函数:   PostgreSQL格式化函数提供一套有效的工具用于把各种数据类型(日期/时间、integer、floatingpoint和numeric)转换成格式化的字符串以及反过来从格...博文来自: snn1410的专栏

sql psql数据类型对比

阅读数 2万+

数据类型SQLServerPostgreSQL备注数字型tinyintsmallinttinyint(0-255),smallint(-32768-32767)smallintsmallint,int...博文来自: 张永光的博客

PostgreSQL数据类型

阅读数 5万+

第六章 数据类型6.1概述    PostgreSQL提供了丰富的数据类型。用户可以使用CREATETYPE命令在数据库中创建新的数据类型。PostgreSQL的数据类型被分为四种,分别是基本数据类...博文来自: neo_liu0000的专栏

PostgreSQL模糊匹配走索引

阅读数 5273

数据库版本:postgresql9.6.0作者:JackGo邮箱:jackgo73@outlook.com日期:2017年5月28日场景1lower(name)like'pf%'场景构造createt...博文来自: JackGo!

Postgresql 函数

阅读数 968

一、逻辑操作符:   常用的逻辑操作符有:AND、OR和NOT。其语义与其它编程语言中的逻辑操作符完全相同。二、比较操作符:   下面是PostgreSQL中提供的比较操作符列表:操作符描述小于>大于...博文来自: zhubaoJay的博客

pgsql字符类型

阅读数 6476

PostgreSQL8.1中文文档PrevFastBackwardChapter8.数据类型FastForwardNext8.3.字符类型Table8-4.字符类型名字描述charactervaryi...博文来自: 一名普通码农的菜地

pgsql 如何对varchar数据求和,存放的是数字字符串

阅读数 1371

selectsum(cast(moneyasfloat8))fromdata博文来自: fwhezfwhez的博客

postgresql将表中的字段由varchar类型改为int类型

阅读数 7449

因业务需要,遂将表中sort_num字段从varchar类型改为int类型,但是在修改中却发现了如下问题:错误:字段“sort_num”不能自动转换成类型integerHINT:指定一个USING表达...博文来自: 安善良民弱女子的博客

PostgreSQL字段类型说明

阅读数 9871

PostgreSQL字段类型说明已有817次阅读 2009-02-2522:49 标签: PostgreSQL 字段 类型 BIGSERIALSERIAL8存储自动递增的惟一整数,最多8字节。BIT固...博文来自: cyuyan的专栏

varcharchar区别

阅读数 2610

区别一,定长和变长char表示定长,长度固定,varchar表示变长,即长度可变当所插入的字符串超出它们的长度时,视情况来处理,如果是严格模式,则会拒绝插入并提示错误信息,如果是宽松模式,则会截取然后...博文来自: ...

postgresql同oracle语法差异

阅读数 7329

很多内容是网上查的资料,我只是整理下,有遗漏的地方,欢迎补充首先用工具(Ora2pg)自动转换由于这个项目后台程序量很大,存储过程+触发器大约有15万行代码。用这个工具可以将一些oracle与pgsq...博文来自: woshishengcanduide的博客

数据库中charvarchar类型的区别

阅读数 4万+

在建立数据库表结构的时候,为了给一个String类型的数据定义一个数据库的数据库类型,一般参考的都是char或者varchar,这两种选择有时候让人很纠结,今天想总结一下它们两者的区别,明确一下选择塔...博文来自: 每天都记录一点点!

EMPOWER YOUR AI TRANSFORMATION 标新·立异 2019第四范式AI新品发布会

探寻企业AI转型之道

charvarcharvarchar的区别

阅读数 1193

char和varchar1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的,比如,存储字符串“abc",对于CHAR(10),表示你存储的字符将占10个字节(包括7个空字符),而同样的V...博文来自: huihui870311的专栏

PostgreSQL中的数据类型

阅读数 6540

PostgreSQL中的数据类型PostgreSQL中的数据类型概述数据的输入和类型转换数据类型详解整型布尔类型字符类型时间类型枚举类型money类型bytea类型其它类型参考资料概述PostgreS...博文来自: 朱君鹏的博客

PostgreSQL chinese full text search 中文全文检索

阅读数 2531

首先要感谢amutu以及其他为中文检索贡献的兄弟们,我在之前写过一些关于PG中文全文检索的文章,比较繁琐.http://blog.163.com/digoal@126/blog/static/1638...博文来自: 神谕梦醒

pgsql字符串函数

阅读数 1万+

PostgreSQL8.1中文文档PrevFastBackwardChapter9.函数和操作符FastForwardNext9.4.字符串函数和操作符本节描述了用于检查和操作字符串数值的函数和操作符...博文来自: 一名普通码农的菜地

postgreSql的字符串操作函数

阅读数 2万+

postgreSQL的一些字符串操作函数博文来自: snn1410的专栏

PostgreSQL中的char类型

阅读数 506

SQL定义了两种基本的字符类型:charactervarying(n)和character(n),其中n是一个正整数。两种类型都可以存储最多n个字符的字符串。另外,PostgreSQL提供text类型...博文来自: PG_HGDB的博客

PostgreSQL to_char 数据类型格式化函数

阅读数 945

帮助文档1需求整数格式化为字符串时,不足的位数需要左补零selectformat('%s°%s′%s″', to_char(98,'000'), --度.规范要求3位,不足左补0 to_char(55...博文来自: kmblack1的专栏

PostgreSQL字符串处理函数

阅读数 3998

前期准备,新建数据表CREATETABLEmytable( idserialNOTNULL, "name"charactervarying(20), geomgeometry, remarkchara...博文来自: ITSTAR

Char型和string型字符串比较整理

阅读数 1324

1.赋值char赋值:  charch1[]="giveme";  charch2[]="acup";  strcpy(ch1,ch2);  cout输出结果:ch1=acupstring赋值:  s...博文来自: gll028的专栏

charvarchar的使用

阅读数 452

notice:定义字符串的时候,尽量使用varchar。varchar的字段中存储的是该字段真实的字符长度。定义char类型是,若字符串的长度小于定义的长度,会以空格自动补全,浪费存储空间。所存储的字...博文来自: wd1624348916的博客

技术型:char型数据是如何比较大小的字符型char

阅读数 8258

转帖:char型数据是如何比较大小的字符型char:   在C语言中(在C语言中是这样,不同的语言对字符的处理方式不一样)字符是以ASCII码存放的。ASCII码从0到255一共256个整数,每个数字...博文来自: cgc20xin的专栏

设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型

mysql关联查询两次本表 native底部 react extjs glyph 图标 web程序char教程 大数据机器学习比较

postgresql数据库varchar、char、text的比较相关推荐

  1. mysql varchar char text

    建表时IP字段设成了varchar,但是由于要对其建索引,以达到与其它表结合查询时提高效率的目的,打算将它改成char,修改后竟然没有成功. 最后发现原来要改就必须把该表中的所有varchar和tex ...

  2. postgresql、mysql数据库varchar、char、text的比较

    MYSQL: 1.char长度固定, 即每条数据占用等长字节空间: 2. varchar可变长度,可以设置最大长度,而varchar只会占用实际字符应该占用的空间+1,并且实际空间+1<=n. ...

  3. 一文读懂数据库的文本数据类型:CHAR,VARCHAR,TEXT,BLOG,NCHAR、NVARCHAR、NTEXT

    文章目录 一.CHAR与 VARCHAR 二.TEXT 与 BLOG 三.NCHAR.NVARCHAR.NTEXT 一.CHAR与 VARCHAR CHAR 用于存储固定长度的数据,CHAR字段上的索 ...

  4. 数据库:CHAR,VARCHAR,TEXT,ENUM ,SET,BINARY,VARBINARY 列的完整性约束

    数据库 CHAR类型和VARCHAR类型 TEXT类型 ENUM 和SET类型 SET类型 二进制类型 BINARY和VARBINARY类型 BIT类型 列的完整性约束 CHAR类型和VARCHAR类 ...

  5. MySQL CHAR、VARCHAR、TEXT、ENUM、SET(字符串类型)

    字符串类型用来存储字符串数据,还可以存储图片和声音的二进制数据.字符串可以区分或者不区分大小写的串比较,还可以进行正则表达式的匹配查找. MySQL 中的字符串类型有 CHAR.VARCHAR.TIN ...

  6. 5、(字符串类型)CHAR、VARCHAR、TEXT、ENUM、SET

    字符串类型用来存储字符串数据,还可以存储图片和声音的二进制数据. 字符串可以区分或者不区分大小写的串比较,还可以进行正则表达式的匹配查找. MySQL 中的字符串类型有 CHAR.VARCHAR.TI ...

  7. 数据库中char varchar nchar nvarchar的区别

    数据库中char varchar nchar nvarchar的区别 我们在进行数据库的设计的时候,很多情况下表中的字段都是用的是字符串类型的数据,其中就有四种选择char varchar nchar ...

  8. mysql中char,varchar与text类型的区别和选用

    关于char,varchar与text平时没有太在意,一般来说,可能现在大家都是用varchar.但是当要存储的内容比较大时,究竟是选择varchar还是text呢?不知道...... text .  ...

  9. MySQL中char,varchar和text的区别

    MySQL中char,varchar和text的区别 java程序中的string类型,在mysql数据表中可以有三种对应的类型:char,varchar和text. char,varchar和tex ...

最新文章

  1. Java中的String,StringBuilder,StringBuffer三者的区别
  2. cryptojs aes加密每次结果不同_Javascript加密算法标准库,支持Nodejs+浏览器——crypto-js...
  3. Laravel 多域名共享session
  4. 18春学期《计算机应用基础》,18春学期(1709、1803)《计算机应用基础》在线作业及答案.pdf...
  5. json vs xml
  6. 精美剪纸风三维感海报合集分享,这样的质感你喜欢吗?
  7. android开机动画修改,Android系统 开机动画修改 + 自动替换脚本
  8. Java编译期优化思维导图
  9. C语言与线性代数,编程与线性代数
  10. 恒讯科技讲解:量子云计算是什么?
  11. 什么是微信群控系统,我来告诉你!
  12. 有理数加法(C语言)
  13. 【深度】人工智能或重演 2002 互联网泡沫 ! 95% 的企业会倒闭?
  14. 表示自己从头开始的句子_表达重新开始的励志句子 从头开始的励志说说
  15. lk中printf的实现
  16. 使用NodeJS和Angular构建Twitter客户端
  17. 低代码指南100解决方案:86教育信息化时代,学校该如何加强家校信息交流?
  18. 引用账户锁定无法登录_“引用的账户当前已锁定,切无法登录“问题解决方案...
  19. matlab交交变频,基于Matlab/simulink的交—交变频器仿真研究
  20. dnf yum_yum用户DNF快速指南

热门文章

  1. LTE-物理信道及映射关系 http://gxw0099.blog.163.com/blog/static/59710262201401511204125/
  2. 华为平板M3能用鸿蒙吗,三步即完成操作 华为平板 M3就是这么爽
  3. 花卉销售与管理系统的设计与实现
  4. Eclipse报错:java.lang.ClassNotFoundException: Contex
  5. drf结合Jwt和IsAuthenticated对用户进行登录验证
  6. c语言怎么快速乘法口诀表,乘法口诀表,C语言实现
  7. 拜耳集团公布第三季度业绩,销售额85.06亿欧元
  8. Mac 命令行安装 dmg文件
  9. 图纸管理 企业图纸无纸化管理方法
  10. FPGA专用时钟引脚