varchar

阅读 / 问答 / 标签

mysql 中varchar tinyint text date smallint 这些怎么称呼?都怎么用啊?谢谢各位高手了!

char 和 varchar (Transact-SQL)固定长度或可变长度的字符数据类型。 char [ ( n ) ] 固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 至 8,000,存储大小是 n 个字节。char 的 SQL 2003 同义词为 character。varchar [ ( n | max ) ] 可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。max 指示最大存储大小是 2^31-1 个字节。存储大小是输入数据的实际长度加 2 个字节。所输入数据的长度可以为 0 个字符。SQL-2003 中的 varchar 就是 char varying 或 character varying。备注如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30。将为使用 char 或 varchar 的对象指派数据库的默认排序规则,除非使用 COLLATE 子句指派了特定的排序规则。该排序规则控制用于存储字符数据的代码页。如果站点支持多语言,请考虑使用 Unicode nchar 或 nvarchar 数据类型,以最大限度地消除字符转换问题。如果使用 char 或 varchar,建议执行以下操作: 如果列数据项的大小一致,则使用 char。如果列数据项的大小差异相当大,则使用 varchar。如果列数据项大小相差很大,而且大小可能超过 8,000 字节,请使用 varchar(max)。当执行 CREATE TABLE 或 ALTER TABLE 时,如果 SET ANSI_PADDING 为 OFF,则定义为 NULL 的 char 列将作为 varchar 处理。当排序规则代码页使用双字节字符时,存储大小仍然为 n 个字节。根据字符串的不同,n 个字节的存储大小可能小于 n 个字符。-----------------------------------------------------------int、bigint、smallint 和 tinyint (Transact-SQL)使用整数数据的精确数字数据类型。 数据类型 范围 存储 bigint -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 8 字节int -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 4 字节smallint -2^15 (-32,768) 到 2^15-1 (32,767) 2 字节tinyint 0 到 255 1 字节备注int 数据类型是 SQL Server 2005 中的主要整数数据类型。bigint 数据类型用于整数值可能超过 int 数据类型支持范围的情况。在数据类型优先次序表中,bigint 介于 smallmoney 和 int 之间。只有当参数表达式为 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其他整数数据类型(tinyint、smallint 和 int)提升为 bigint。注意: 使用 +、-、*、/ 或 % 等算术运算符将 int、smallint、tinyint 或 bigint 常量值隐式或显式转换为 float、real、decimal 或 numeric 数据类型时,SQL Server 计算数据类型和表达式结果的精度时应用的规则有所不同,这取决于查询是否是自动参数化的。 因此,查询中的类似表达式有时可能会生成不同的结果。如果查询不是自动参数化的,则将常量值转换为指定的数据类型之前,首先将其转换为 numeric,该数据类型的精度很大足以保存常量的值。例如,常量值 1 转换为 numeric (1, 0),常量值 250 转换为 numeric (3, 0)。 如果查询是自动参数化的,则将常量值转换为最终数据类型之前,始终先将其转换为 numeric (10, 0)。如果涉及 / 运算符,则对于类似查询而言,不仅结果类型的精度可能不同,而且结果值也可能不同。例如,包含表达式 SELECT CAST (1.0 / 7 AS float) 的自动参数化查询的结果值将不同于非自动参数化的同一查询的结果值,因为自动参数化查询的结果将被截断以适合 numeric (10, 0) 数据类型。有关参数化查询的详细信息,请参阅简单参数化。 -----------------------------------------------------------ntext、text 和 image (Transact-SQL)重要事项: 在 Microsoft SQL Server 的未来版本中将删除 ntext、text 和 image 数据类型。请避免在新开发工作中使用这些数据类型,并考虑修改当前使用这些数据类型的应用程序。请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。有关详细信息,请参阅 使用大值数据类型。用于存储大型非 Unicode 字符、Unicode 字符及二进制数据的固定长度数据类型和可变长度数据类型。Unicode 数据使用 UNICODE UCS-2 字符集。 ntext长度可变的 Unicode 数据,最大长度为 2^30 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 的 SQL 2003 同义词为 national text。text服务器代码页中长度可变的非 Unicode 数据,最大长度为 2^31-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储仍是 2,147,483,647 字节。根据字符串,存储大小可能小于 2,147,483,647 字节。image长度可变的二进制数据,从 0 到 2^31-1 (2,147,483,647) 个字节。-----------------------------------------------------------日期和时间 (Transact-SQL)用于表示某天的日期和时间的数据类型。 datetime 和 smalldatetime表示某天的日期和时间。数据类型 范围 精确度 datetime 1753 年 1 月 1 日到 9999 年 12 月 31 日 3.33 毫秒smalldatetime 1900 年 1 月 1 日到 2079 年 6 月 6 日 1 分钟备注Microsoft SQL Server 2005 Database Engine 用两个 4 字节的整数内部存储 datetime 数据类型的值。 第一个 4 字节存储“基础日期”(即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参照日期。另外一个 4 字节存储天的时间(以午夜后经过的毫秒数表示)。smalldatetime 数据类型存储天的日期和时间,但精确度低于 datetime。数据库引擎 将 smalldatetime 值存储为两个 2 字节的整数。第一个 2 字节存储 1900 年 1 月 1 日后的天数。另外一个 2 字节存储午夜后经过的分钟数。-----------------------------------------------------------这些东西MSDN里都有,自己看看就知道了。不过还是非常喜欢这种不用动脑筋的问题,嘿嘿……

在数据库中,数据类型可以把用tinyint改成int,把char改成varchar?

可以,没有问题

int(11)最大长度是多少,MySQL中varchar最大长度是多少(转)

int(11)最大长度是多少,MySQL中varchar最大长度是多少?int(11)最大长度是多少?在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度。这个11代表显示宽度,整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。int是整型,(11)是指显示字符的长度,但要加参数的,最大为255,比如它是记录行数的id,插入10笔资料,它就显示00000000001 ~~~00000000010,当字符的位数超过11,它也只显示11位,如果你没有加那个让它未满11位就前面加0的参数,它不会在前面加0声明整型数据列时,我们可以为它指定个显示宽度M(1~255),如INT(5),指定显示宽度为5个字符,如果没有给它指定显示宽度,MySQL会为它指定一个默认值。显示宽度只用于显示,并不能限制取值范围和占用空间,如:INT(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是 INT整型所允许的最大值。MySQL有五种整型数据列类型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。它们之间的区别是取值范围不同,存储空间也各不相同。在整型数据列后加上UNSIGNED属性可以禁止负数,取值从0开始。int范围TypeBytesMinimum ValueMaximum Value(Signed/Unsigned)(Signed/Unsigned)TINYINT1-1281270255SMALLINT2-3276832767065535MEDIUMINT3-83886088388607016777215INT4-2147483648214748364704294967295BIGINT8-92233720368547758089223372036854775807018446744073709551615MySQL中varchar最大长度是多少?一. varchar存储规则:4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同。二. varchar和char 的区别:char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是: char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).在MySQL中用来判断是否需要进行对据列类型转换的规则1、在一个数据表里,如果每一个数据列的长度都是固定的,那么每一个数据行的长度也将是固定的.2、只要数据表里有一个数据列的长度的可变的,那么各数据行的长度都是可变的.3、如果某个数据表里的数据行的长度是可变的,那么,为了节约存储空间,MySQL会把这个数据表里的固定长度类型的数据列转换为相应的可变长度类型.例外:长度小于4个字符的char数据列不会被转换varchar类型三.MySQL中varchar最大长度是多少?这不是一个固定的数字。先简要说明一下限制规则。1、限制规则字段的限制在字段定义的时候有以下规则:a) 存储限制varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。b) 编码长度限制字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766;字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。c) 行长度限制导致实际应用中varchar长度限制的是一个行定义的长度。 MySQL要求一个行的定义长度不能超过65535。若定义的表长度超过这个值,则提示ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。2、计算例子举两个例说明一下实际长度的计算。a) 若一个表只有一个varchar类型,如定义为create table t4(c varchar(N)) charset=gbk;则此处N的最大值为(65535-1-2)/2= 32766。减1的原因是实际行存储从第二个字节开始u2019;减2的原因是varchar头部的2个字节表示长度;除2的原因是字符编码是gbk。b) 若一个表定义为create table t4(c int, c2 char(30), c3 varchar(N)) charset=utf8;则此处N的最大值为 (65535-1-2-4-30*3)/3=21812减1和减2与上例相同;减4的原因是int类型的c占4个字节;减30*3的原因是char(30)占用90个字节,编码是utf8。如果被varchar超过上述的b规则,被强转成text类型,则每个字段占用定义长度为11字节,当然这已经不是“varchar”了。则此处N的最大值为 (65535-1-2-4-30*3)/3=21812create table t4(c int, c2 char(30), c3 varchar(21812)) ENGINE=InnoDB DEFAULT CHARSET=utf8create table t5(c int, c2 varchar(30), c3 varchar(21812)) ENGINE=InnoDB DEFAULT CHARSET=utf8varchar(30)和char(30)最多能存放:工在基工左基工在基顺工作奔大规模集成电路城工作东奔西走左夺工城鞯革城载模压地工魂牵梦萦栽土木工程魂牵梦萦栽植奇巧魂牵梦萦地厅城柑模压东奔西走苦村落模压革革柑可耕地村模压基栽魂牵梦基aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111int(11)最大长度是多少,MySQL中varchar最大长度是多少(转)标签:

在MySQL数据库中的表的字段选择char,varchar类型,还有选择int ,smallint,tingint类型,有什么区别?

都用来存储时间的话 int 优点 比较方便 占用资源小 也就2个字节 显示也其实很方便。 timestamp 配合相应的方法可以直接插入时间,据说也是以int存的 也就2个字节 想对int 比较直观。data datime 就是为储存时间设的函数 具体怎么实现 没怎么用过。现在也有很多人用char vchar存时间。直观。就是太浪费资源了

一字段smallint类型值只是0或1,长度设置多少?另一字段varchar,值是1到5个汉字,长度应咋设置?

smallint长度是不需要再手工设置长度的另一个字段如果有1-5个汉字,按5个汉字的话 设置最低也要为varchar(10)

selec CONVERT(VARCHAR(4), Date,120) from table 设置列名?

selec CONVERT(VARCHAR(4), Date,120) as [Data] from tablemysql 是 as `Data`mssql 是 as [Data]

sql server varchar 50 uft8字符可以存多少个汉字

首先要确定mysql版本4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节) 5.0版本以上,varchar(50),指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个其实最好的办法是在自己数据库中建个表试试可以放多少汉字,现在mysql都5.0已上了,varchar(50)是可以存50个汉字的

mysql 中的varchar255 uft-8 的格式到底能放多少汉字

MySQL 中的 VARCHAR(255) 可以存放 1 - 255 个 UTF-8 格式的汉字 ...latin1 字符集最多可以存放 85 个 UTF-8 格式的汉字 ...utf-8 字符集最多可以存放 255 个 UTF-8 格式的汉字 ...如果哪个大神可以找到一个占用两字节或者占用四字节的汉字那么我的这个答案就错了 ...

oceanbase一级分区表类型不支持varchar

题主是否想询问“oceanbase一级分区表类型不支持varchar吗”?不支持。OceanBase2.2体验是支持新增列的,支持部分列的属性变更(如值域扩大),但不支持加主键是分区表,分区策略是支持一级分区,一级分区表支持的是模板化和非模板化二级分区,而VARCHAR是一种数据类型,用于存储可变长度的字符字符串,所以是不支持的。

MySQL中用什么代替mssql+中的varchar(max)

mysql默认不支持varchar的max,你可以转换一下类型,比如字符串是hahahha,本来是max(hahahha),你可以换成这样max(hahaha+0)这样值没变就转过去了,mysql内部转换属于。

sql 里怎么把varchar转成datetime格式

使用convert函数,参数格式 CONVERT(VARCHAR(10),GETDATE(),110)第二个参数为字段名称,最后一个参数为指定转换格式例: SELECTCONVERT(VARCHAR(10),GETDATE(),110)检索结果为:11-10-2015

mysql中的设置varchar长度问题...

是这样的。

SQL数据库里CONVERT(nvarchar, 列名, 数字)语句怎么用?

convert(要转换到的数据类型,要转换的变量或值,格式参数<没有格式参数按默认值>)你说的112,是日期格式,年-月-日.转换为日期型时可使用日期格式样式不带世纪数位(yy)带世纪数位(yyyy)标准输入/输出**-0或100(*)默认值monddyyyyhh:miAM(或PM)1101美国mm/dd/yyyy2102ANSIyy.mm.dd3103英国/法国dd/mm/yy4104德国dd.mm.yy5105意大利dd-mm-yy6106-ddmonyy7107-mondd,yy8108-hh:mm:ss-9或109(*)默认值+毫秒monddyyyyhh:mi:ss:mmmAM(或PM)10110美国mm-dd-yy11111日本yy/mm/dd12112ISOyymmdd-13或113(*)欧洲默认值+毫秒ddmonyyyyhh:mm:ss:mmm(24h)14114-hh:mi:ss:mmm(24h)-20或120(*)ODBC规范yyyy-mm-ddhh:mm:ss[.fff]-21或121(*)ODBC规范(带毫秒)yyyy-mm-ddhh:mm:ss[.fff]-126(***)ISO8601yyyy-mm-ddThh:mm:ss:mmm(不含空格)-130*科威特ddmonyyyyhh:mi:ss:mmmAM-131*科威特dd/mm/yyhh:mi:ss:mmmAM

alter table 表名 alter column 列名 varchar(1000) 怎么理解

修改列名,或者修改字段类型,,,

SQL SERVER中某个字段属性为varchar,我想把这个字段改成int型,如何操作?

SQL SERVER中某个字段属性为varchar,我想把这个字段改成int型,如何操作? aa为表名 bb为字段名 alter table aa alter column bb int 还要注意 如果原有的记录中 这个字段有字符 则改的时候会将这些记录的字符转成INT不成功,要先做好处理 SQL server如何修改表某个字段的属性? 表中没有数据的话可以导出表结构的SQL语法,修改好字段属性后,重新再建立那个表! 如果有数据的话,可以在查询分析器中修改方法:(用SQL语句) Alter table 表名 Alter column 列名 数据类型 sql server 如何批量修改某个字段 UPDATE [表名] SET [密码字段] = "999999"如果密码是加密过的,可以先用工具或小程序获取 999999的加密字符串,然后再执行UPDATE [表名] SET [密码字段] = "999999加密后的字符串" 在 mysql里如何将字段属性char(10)改为varchar(10)? mysql基本更新语句:修改表名: alter table 表名 rename to 新表名 ; 修改字段长度: alter table 表名 modify column 字段名 varchar(20) ; 添加字段: alter table 表名 add 字段名 varchar(50); 更新字段值: update 表名 set 字段名 = "新值" where 条件Django 信号如何去改变一个字段属性 Django可以获取一个model里字段定义的属性: User._meta.get_field_by_name("username") 返回的是tuple,所以没法修改 数据库中有一数据表table_a,且该表没有主键也无唯一键,有一列row1数据都是不同的(没有唯一键),对应的django中的model为: class TableA(models.Model): row1 = models.CharField(primary_key=True, max_length=36) row2 = models.CharField(max_length=36) row3 = models.CharField(max_length=36) class Meta: db_table = u"table_a" django中对应的model设置row1为主键,一切正常 如果row1有重复数据,model在过滤的时候去重,使用model一切正常 objs = TableA.objects.filter(Q("取出row1中的重复项")) 如果要操作那些重复项(只有row1中的数据是重复的),但这些重复项中row2和row3的数据都是不同的 如果能动态设置model字段属性就都解决了 当然直接用sql也可以 sql server 怎么在表里某个字段后增加一个字段 alter table [表名] add 字段名 varchar(N) [null];-- 增加变长文本型字段 大小为N(1~255) alter table [表名] add 字段名 int default 0 ;--增加数字字段,长整型,缺省值为0 在某个模块 里面有个字段的值为A 过段时间我把这个字段的值改为B 怎样更新这个字段的值 SQL语句 updata table set 字段=B where 字段=A sql telephone 是什么字段属性 这个用varchar2吧,有-字符,数据类型的貌似不行 求SQL命令,如何统一修改某个字段 update [表] set 字段1=值 where 字段x= 条件 如果将后面的" where 字段x= 条件"去除的话就是表的字段1的全部值修改成新值... 要是回答的内容有问题,或认为不妥,请发送百度消息给我,消息内容加上本页网址哦。。 ·

char,varchar,binary和varbinary的区别与联系

binary 和 varbinary固定长度 (binary) 的或可变长度 (varbinary) 的 binary 数据类型。binary [ ( n ) ]固定长度的 n 个字节二进制数据。N 必须从 1 到 8,000。存储空间大小为 n+4 字节。 varbinary [ ( n ) ]n 个字节变长二进制数据。n 必须从 1 到 8,000。存储空间大小为实际输入数据长度 +4 个字节,而不是 n 个字节。输入的数据长度可能为 0 字节。在 SQL-92 中 varbinary 的同义词为 binary varying。注释如果在数据定义或变量声明语句中没有指定 n,默认长度为 1。如果没有用 CAST 函数指定 n,默认长度为 30。当列数据项大小一致时应使用 binary。当列数据项大小不一致时应使用 varbinary。BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。大型对象BLOB就是使用二进制保存数据。如:保存位图。CLOB使用CHAR来保存数据。如:保存XML文档。MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同。MySQL的四种BLOB类型类型 大小(单位:字节)TinyBlob 最大 255Blob 最大 65KMediumBlob 中等16MLongBlob 最大 4G

Oracle数据库中的标识类字段存成NUMBER(1)还是VARCHAR2(1)比较好?

一般都采用char(1)或者varchar2(1) 的,这里存在一个普遍使用习惯问题。而且varchar2(1)既可以存储数字0,1,也可以存储字符Y,N,灵活性较大。

数据类型text 和varchar在 equal to运算符中不兼容

text类型查询时不支持=,可以支持like,nvarchar(max)数据类型是新类型,长度与text相等操作text类型的函数很特殊,所以自新版本以来,一般大数据类型都定义为max,弃用text

MySQL的varchar定义长度到底是字节还是字符

最新的都是5.x和8.x了,声明时指的都是最多存多少个字符;但底层存储要变为字节,所以最大长度是65535字节。参考资料:MySQL字段长度、取值范围、存储开销

nochar 和varchar有什么区别

数据类型 字节数 字符数 作用ncar(n) 2-8000 最多4000个字符 固定宽度的Unicode数据类型varchar(n) 1-8000 最多8000个字符 固定宽度的ASCII数据类型另外nchar根据 unicode 标准所进行的定义,用给定整数代码返回 unicode 字符。 char 和 varchar 固定长度 (char) 或可变长度 (varchar) 字符数据类型。包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零

mysql VARCHAR的最大长度到底是多少

MySQL 数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的varchar来存放,这样就能有效的减少数据库文 件的大小。MySQL 数据库的varchar类型在4.1以下的版本中,nvarchar(存储的是Unicode数据类型的字符)不管是一个字符还是一个汉字,都存为2个字节 ,一般用作中文或者其他语言输入,这样不容易乱码 ;varchar: 汉字是2个字节,其他字符存为1个字节 ,varchar适合输入英文和数字。4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) ;5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 ;varchar(20)在Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同,具体有以下规则: a) 存储限制 varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。 b) 编码长度限制 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766; 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。 若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。 c) 行长度限制 导致实际应用中varchar长度限制的是一个行定义的长度。 MySQL要求一个行的定义长度不能超过65535。若定义的表长度超过这个值,则提示 ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。 ---------------------------------------------------------------------mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532。

mysql VARCHAR的最大长度到底是多少

mysql VARCHAR的最大长度到底是多少MySQL 数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的varchar来存放,这样就能有效的减少数据库文 件的大小。

mysql中varchar可以存多少汉字

汉字长度与编码有关MySql 5.0 以上的版本:1、一个汉字占多少长度与编码有关:UTF-8:一个汉字 = 3个字节,英文是一个字节GBK: 一个汉字 = 2个字节,英文是一个字节2、varchar(n) 表示n个字符,无论汉字和英文,MySql都能存入 n 个字符,仅实际字节长度有所区别。3、MySQL检查长度,可用SQL语言。

在oracle中varchar和varchar2有什么区别?

没有区别

varchar最大长度是多少?

varchar的最大长度为65535字节。实际的最大长度 = (65535 - NULL标识位 - 长度标识位)/ 单字符最大字节数。65535行最大长度可配置,NULL标识位与可空列个数有关,长度标识位与列可能的最大字节数有关,单字符最大字节数与字符集有关。具体分析可参考《varchar的最大长度是多少?》

varchar,varchar2的效率问题

char、varchar和varchar2的区别(转)区别: 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。 2.CHAR的效率比VARCHAR2的效率稍高。 3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。 何时该用CHAR,何时该用varchar2? CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系. VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率"。 VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移"(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。char中还会自动补齐空格,因为你insert到一个char字段自动补充了空格的,但是select 后空格没有删除

mysql中的数据类型varchar(255)表示什么意思?

char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).varchar(255)表示最大长度是255的可变字符类型

vchar和varchar写法 怎么回事

char("值",长度); 固定长度。索引更快varchar("值") 可变长度,索引速度慢!

MySQL中varchar的长度最大是?

MySQL 数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的varchar来存放,这样就能有效的减少数据库文 件的大小。MySQL 数据库的varchar类型在4.1以下的版本中,nvarchar(存储的是Unicode数据类型的字符)不管是一个字符还是一个汉字,都存为2个字节 ,一般用作中文或者其他语言输入,这样不容易乱码 ;varchar: 汉字是2个字节,其他字符存为1个字节 ,varchar适合输入英文和数字。4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) ;5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 ;varchar(20)在Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同,具体有以下规则: a) 存储限制 varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。 b) 编码长度限制 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766; 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。 若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。 c) 行长度限制 导致实际应用中varchar长度限制的是一个行定义的长度。 MySQL要求一个行的定义长度不能超过65535。若定义的表长度超过这个值,则提示 ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。 ---------------------------------------------------------------------mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532。

varchar字符长度是多少

可变长度,但最大长度是255个字符

arcgis字段类型varchar中文是什么

arcgis字段类型varchar中文是可变长字符串。VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。

SQL中varchar和nvarchar有什么区别?

1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充,所以在读取的时候可能要多次用到trim()。2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。3、TEXT。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。4、NCHAR、NVARCHAR、NTEXT。这三种从名字上看比前面三种多了个“N”。它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。所以一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar它们的区别概括成:CHAR,NCHAR 定长,速度快,占空间大,需处理VARCHAR,NVARCHAR,TEXT 不定长,空间小,速度慢,无需处理NCHAR、NVARCHAR、NTEXT处理Unicode码

数据库 基本表varchar是什么

VARCHAR 是可伸缩字符串类型

mysql中char和varchar有什么区别?

一个定长一个不定长a char(10)b varchar(10)都存入"abc"a10字节b3字节

数据库中的VARCHAR到底是怎么存储数据的

CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储

数据库中字段类型为varchar时,它的长度如何理解

char(100)表示数据存储大小为100,varchar(100)表示为该数据分配最大100存储空间。具体存储方式跟liubird说的一样。

mysql中的数据类型varchar(255)表示什么意思?

char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).varchar(255)表示最大长度是255的可变字符类型

mysql 数据库varchar(100)可以存储多少个汉字,多少个数字

汉字50,字母数字100自己测试下不就好了,,,create table test(id varchar(1))insert into test(id)select "我"select "a"select "1"

MySQL中varchar最大长度是多少

MySQL 数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的varchar来存放,这样就能有效的减少数据库文 件的大小。MySQL 数据库的varchar类型在4.1以下的版本中,nvarchar(存储的是Unicode数据类型的字符)不管是一个字符还是一个汉字,都存为2个字节 ,一般用作中文或者其他语言输入,这样不容易乱码 ;varchar: 汉字是2个字节,其他字符存为1个字节 ,varchar适合输入英文和数字。4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) ;5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 ;varchar(20)在Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同,具体有以下规则: a) 存储限制 varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。 b) 编码长度限制 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766; 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。 若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。 c) 行长度限制 导致实际应用中varchar长度限制的是一个行定义的长度。 MySQL要求一个行的定义长度不能超过65535。若定义的表长度超过这个值,则提示 ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。 ---------------------------------------------------------------------mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532。

char varchar varchar2 的区别

char:使用指定长度的固定长度表示的字符串;比如char(8),则数据库会使用固定的8个字节来存储数据,不足8为的字符串在其后补空字符;varchar在oracle中varchar跟char是一个类型;sqlserver中varchar相当于oracle中的varchar2varchar2用实际字符数+2个字节来存储的变长字符串;比如一个字段定义为varchar(10),而实际存储的内容为‘A",则数据库会用3个字节来存储该字符串,其中前两个字节用来存储字符的长度;在数据库中的字段,由于一个字段大小不能超过一个block的长度,所以varchar和char都是最大为8000个字节,由于可能会存储汉字,也就是一个字符用2个字节来存储,所以字段中最大定义为varchar(4000),而在plsql中,这个大小的限制变为32000左右,这是因为表示其大小的字节只有两个。

MySQL varchar(64) 能存储几个汉字?

字符集为 utf8mb4 的情况下, 测试了下 varchar(64) ,64 就是代表字符长度,就是说可以存储(insert into) 64 个字符(无论中文还是英文)。 汉字的话,占用了 64 * 3 个字节,英文的话占用了 64 * 1 个字节。 使用 CHAR_LENGTH() 和 LENGTH() 验证结果 创建表 插入 9 个英文字符时 插入 10 个英文字符时 插入 9 个汉字时 插入 10 个汉字时

数据库varchar可以输入多少个汉字

数据库varchar20可以输入多少个汉字varchar(20)在数据库中开辟能存储20个汉字的空间,当汉字数目大于20时还可以再存储

数据库中varchar(500)是什么意思?

varchar(n)长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为输入数据的字节的实际长度,而不是n个字节。

varchar的最大长度是多少?

varchar的最大长度为65535字节。实际的最大长度 = (65535 - NULL标识位 - 长度标识位)/ 单字符最大字节数。65535行最大长度可配置,NULL标识位与可空列个数有关,长度标识位与列可能的最大字节数有关,单字符最大字节数与字符集有关。具体分析可参考《varchar的最大长度是多少?》

nchar和varchar的区别

nchar(n)包含 n 个字符的固定长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。存储大小为 n 字节的两倍。nchar 在 SQL-92 中的同义词为 national char 和 national character。varchar[(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。注释如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。

oracle中形参与实参的区别,varchar2与varchar?

1.实参与形参在内存分别占有两套不同的存储单元,但是形参只有在函数被调用过程中才分配存储单元,调用结束后形参占用的单元被释放。简单来说,形参是过程或函数定义的时候规定被调用时需要传递的参数。而实参是实际调用的时候传递的参数。2.两者一样的,类似于同义词只是varchar一般都不建议使用而已目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。

oracle中字段类型varchar2最大长度是多少?

无限大~~~~

varchar字符长度是多少

VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。VARCHAR数据类型所支持的最大长度也是255个字符。

“String”和“varchar”的详细区别是什么?

String在java里无长度限制,varchar在oracle里是有长度限制的;String修饰的字符串不能被修改,varchar修饰的字符串能被修改;String是以大写字母开始的,varchar不是以大写字母开始的;String是一种固定长度的类型,varchar则是一种可变长度的类型;java这门语言将String类型的内部数据结构是以一个对象的操作来考虑的,java这门语言将varchar类型的内部数据结构没有以一个对象的操作来考虑的;String在mysql中为不可变长度的字符串,varchar在mysql中为可变长度的字符串;相同存储量的话String比varchar更占空间。VARCHAR(M)是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。MySQL4.1以前,VARCHAR数据类型所支持的最大长度255,5.0以上版本支持65535字节长度,utf8编码下最多支持21843个字符(不为空)。

数据库varchar和char的区别

varchar字段在没有存储数据时,不占用数据库空间,有数据存储时,按数据实际空间大小使用数据库空间char字段,无论是否有数据,均会占用数据库相应的空间从空间使用上,varchar类型比char类型节约数据库空间,但使得数据库空间管理增加了资源开销。

varchar的最长字符串是多少?

varchar的最大长度为65535字节。实际的最大长度 = (65535 - NULL标识位 - 长度标识位)/ 单字符最大字节数。65535行最大长度可配置,NULL标识位与可空列个数有关,长度标识位与列可能的最大字节数有关,单字符最大字节数与字符集有关。具体分析可参考《varchar的最大长度是多少?》

MySQL varchar最大长度

MySQL 数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的varchar来存放,这样就能有效的减少数据库文 件的大小。MySQL 数据库的varchar类型在4.1以下的版本中,nvarchar(存储的是Unicode数据类型的字符)不管是一个字符还是一个汉字,都存为2个字节 ,一般用作中文或者其他语言输入,这样不容易乱码 ;varchar: 汉字是2个字节,其他字符存为1个字节 ,varchar适合输入英文和数字。4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) ;5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 ;varchar(20)在Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同,具体有以下规则: a) 存储限制 varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。 b) 编码长度限制 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766; 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。 若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。 c) 行长度限制 导致实际应用中varchar长度限制的是一个行定义的长度。 MySQL要求一个行的定义长度不能超过65535。若定义的表长度超过这个值,则提示 ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。 ---------------------------------------------------------------------mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532。

Oracle数据库中的varchar2类型

最大能输入长度为50的字母,数字或25个汉字值可以为null

SQLSERVER中nvarchar和varchar类型的区别是什么?

固定长度 (char) 或可变长度 (varchar) 字符数据类型。char[(n)]长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。char 在 SQL-92 中的同义词为 character。varchar[(n)]长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。注释如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。将为使用 char 或 varchar 的对象被指派数据库的默认排序规则,除非用 COLLATE 子句另外指派了特定的排序规则。该排序规则控制用于存储字符数据的代码页。支持多语言的站点应考虑使用 Unicode nchar 或 nvarchar 数据类型以尽量减少字符转换问题。如果使用 char 或 varchar:如果希望列中的数据值大小接近一致,请使用 char。如果希望列中的数据值大小显著不同,请使用 varchar。如果执行 CREATE TABLE 或 ALTER TABLE 时 SET ANSI_PADDING 为 OFF,则一个定义为 NULL 的 char 列将被作为 varchar 处理。当排序规则代码页使用双字节字符时,存储大小仍然为 n 个字节。根据字符串的不同,n 个字节的存储大小可能小于 n 个字符。

mysql中的数据类型varchar(255)表示什么意思?

char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).varchar(255)表示最大长度是255的可变字符类型

mysql varchar()最大能定义多少,varchar(2000)正确吗

就中文汉字来说,utf8占3个字节 ,gbk占2个字节。varchar(n),这里的n代表n个字符。mysql表中字段总长度可以有65535个字节,意思就是 如果一个表只有varchar(n)这么一个字段,而且是utf8的话,那么这个字段最大可以有65535个字节的长度,差不多n=65585/3的字符。为什么说差不多。因为varchar在存储的时候,会另加一个字节来记录长度(如果列声明的长度超过255字节,则使用两个字节,刚好2的8次方是255,超过255就只能用2个字节16位来记录了)。如果表中有个char(10)和varchar(n)的话,那么就就这样,n的最大值=65535-10*3,我是这么算的, 虽然最后差1-2个字节,不过不用这么在意吧?除非你有强迫症。呵呵!英文的话 两种都是一个字母是1个字节。能放多少个可以自己测试的,其中的编码知识,值得研究,但是不值得深究,我感觉太钻牛角尖了。解决你的问题应该没难度了,char最大才是255个字符,不论什么编码。varchar(255),能存放多少还要看这个表中其他字段占掉多少的长度,和编码格式,才能算出来,我上面已经给出算法过程了。你慢慢理解。我的传送门http://blog.csdn.net/u012048106/article/details/23173911欢迎留言交流

mysql varchar最大是多少?

MySQL中VARCHAR类型的最大长度为255个字符。根据字符集格式不同,会是不同的答案:字符类型若是GBK,每个字符占用2个字节,最大长度不能超过32766字符类型是UTF8,每个字符最多占用3个字节,最大长度不能超过21845,当超过了这个长度的时候,mysql会自动将varchar类型转为longtext或者mediumtext

数据库中varchar可以最多写多少字

您好:在MySQL中varchar最多能存储65535个字节的数据。varchar 的最大长度受限于最大行长度(max row size,65535bytes)。65535并不是一个很精确的上限,可以继续缩小这个上限。65535个字节包括所有字段的长度,变长字段的长度标识(每个变长字段额外使用1或者2个字节记录实际数据长度)、NULL标识位的累计。在SQL Server中varchar最大长度是8000,但是可以使用varchar(max),可以达到2G。

varchar 能放多少汉字

首先要确定mysql版本4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节) 5.0版本以上,varchar(50),指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个其实最好的办法是在自己数据库中建个表试试可以放多少汉字,现在mysql都5.0已上了,varchar(50)是可以存50个汉字的

char与varchar

区别: 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。 2.CHAR的效率比VARCHAR2的效率稍高。 3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。 何时该用CHAR,何时该用varchar2? CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系. VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率"。 VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移"(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。

varchar的最大长度是多少?

varchar的最大长度为65535字节。实际的最大长度 = (65535 - NULL标识位 - 长度标识位)/ 单字符最大字节数。65535行最大长度可配置,NULL标识位与可空列个数有关,长度标识位与列可能的最大字节数有关,单字符最大字节数与字符集有关。具体分析可参考《varchar的最大长度是多少?》

数据库中字段类型为varchar时,它的长度如何理解?

长度理解为2个字节,汉字和字母在MYSQL里长度是不一样的,varchar(2)保存的是两个字节。特别提醒一下,如果知道字段的长度,建议用CHAR类型优化速度,如性别字段,直接使用CHAR,不要用varchar。VARCHAR(M)是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要.虽然VARCHAR使用起来较为灵活,但是从整个系统的性能角度来说,CHAR数据类型的处理速度更快,有时甚至可以超出VARCHAR处理速度的50%。假如你向一个长度为四十个字符的VARCHAR型字段中输入数据Bill Gates。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。 假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。

mysql varchar最大多少字节

0到65,535VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定。最大有效长度是65,532字节。

sql中varchar(50)代表什么?

1、varchar(50)表示的是设置可以存储的最大字符串长度为50个字节,并且字符是变长的,如果不满50个就是根据实际存储的字节来确定的。2、varchar:可变长度,存储ANSI字符,根据数据长度自动变化。3、varchar是数据类型为字符型,50表示的是最大字符长度。sqlserver中varchar最大长度是8000,但是可以使用varchar(max),可以达到2G。关于解释:有var前缀的,表示是实际存储空间是变长的,varchar,nvarchar。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充,比较例外的是,text存储的也是可变长。

“String”和“varchar”的详细区别是什么?

String在java里无长度限制,varchar在oracle里是有长度限制的;String修饰的字符串不能被修改,varchar修饰的字符串能被修改;String是以大写字母开始的,varchar不是以大写字母开始的;String是一种固定长度的类型,varchar则是一种可变长度的类型;java这门语言将String类型的内部数据结构是以一个对象的操作来考虑的,java这门语言将varchar类型的内部数据结构没有以一个对象的操作来考虑的;String在mysql中为不可变长度的字符串,varchar在mysql中为可变长度的字符串;相同存储量的话String比varchar更占空间。VARCHAR(M)是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。MySQL4.1以前,VARCHAR数据类型所支持的最大长度255,5.0以上版本支持65535字节长度,utf8编码下最多支持21843个字符(不为空)。

varchar的长度

MySQL 数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的varchar来存放,这样就能有效的减少数据库文 件的大小。MySQL 数据库的varchar类型在4.1以下的版本中,nvarchar(存储的是Unicode数据类型的字符)不管是一个字符还是一个汉字,都存为2个字节 ,一般用作中文或者其他语言输入,这样不容易乱码 ;varchar: 汉字是2个字节,其他字符存为1个字节 ,varchar适合输入英文和数字。4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) ;5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 ;varchar(20)在Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同,具体有以下规则: a) 存储限制 varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。 b) 编码长度限制 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766; 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。 若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。 c) 行长度限制 导致实际应用中varchar长度限制的是一个行定义的长度。 MySQL要求一个行的定义长度不能超过65535。若定义的表长度超过这个值,则提示 ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。 ---------------------------------------------------------------------mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532。

varchar是什么数据类 字符串

varchar是英文字符组成的字符串,nvarchar可以包含中文。

varchar是什么类型

VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。VARCHAR数据类型所支持的最大长度也是255个字符。

在MDB数据库中varchar表示什么字段

字符型 长度可变的长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying

在oracle数据库字段中,char,varchar,vchar的不同点,在什么情况下分别用到它们?

char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义 char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。 Varchar类型:Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。 由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉! VARCHAR存储变长数据,但存储效率没有CHAR高。如 果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。 Nchar类型和Nvarchar类型是怎么一回事呢?为了与其他多种字符的转换,如中文,音标等,对每个英文(ASCII)字符都占用2个字节,对一个 汉字也占用两个字节,所有的字符都占用2个字节。

数据库varchar类型

char代表字符串类型,括号内数字代表占用内存(字节,单位),var是代表可变动的,例如varchar(10)意思是最大字节数为10,但也可也比10小,这就避免建表时浪费系统内存。姓名一般10个字节就行,简介就取varchar(100)吧!

varchar是什么意思

可变长字符串【网络释义】变长字符串; 数据类型; 字符型; 可变长度

SQL Server中nvarchar和varchar的区别

1.varchar:非Unicode 的字符数据nvarchar: Unicode 数据2.varchar(n):长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。nvarchar(n):含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar 在 SQL-92 中的同义词为 national char varying 和 national character varying。3.一个汉字占varchar(2),只占nvarchar(1),而字母只占varchar(1),那么在数据库字段求长度的时候,用varchar你就不一定知道它确切的知道它到底有几个字,如果用nvarchar,那么汉字也是nvarchar(1),字母也是nvarchar(1),那么已经很明显了.4.在性能上varchar的检索快于nvarchar另外varchar与char归纳几点区别如下Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。

MySQL中varchar最大长度是多少

varchar 最大长度 是 10485760不过 特别长的 字符串 ,没人会用 varchar 存储,,一般 设置 255 以内长文本 可用 text 替代 更佳

数据库中varchar(500)是什么意思

varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。

数据库varchar 20 可以输入多少个汉字

数据库varchar 20 可以输入多少个汉字 varchar(20)在数据库中开辟能存储20个汉字的空间,当汉字数目大于20时还可以再存储

写sql 语句时,char和varchar,一般选用哪个?

varchar用的多点,他是可变长度的字符串,char是固定的。在实际项目中还是varchar用的多点

mysql char 与varchar的区别

char是不可变,varchar是可变的的,就是这么简单

Oracle数据库中的varchar2类型

最大能输入长度为50的字符,可以为null

ORACLE中varchar类型的最大长度是多少

varchar2的最大存储长度是4000。如以下语句:create table test(id varchar2(4001));执行时会报错。如果将语句改为如下,则会执行成功。create table test(id varchar2(4000));关于oracle中的字符类型char、varchar、varchar2 的区别 区别:1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。 2.CHAR的效率比VARCHAR2的效率稍高。 3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。
 1 2  下一页  尾页