
正文
sqlservervarchar汉字,sql server 中文字段
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
sqlserver中的nvarchar和varchar的区别
首先,varchar和nvarchar都能存储汉字,区别在于:一个汉字占varchar(2),只占nvarchar(1),而字母只占varchar(1),那么在数据库字段求长度的时候,用varchar就不一定知道它确切有几个字符,如果用nvarchar,汉字也是nvarchar(1),字母也是nvarchar(1),那么很容易知道字段的长度了。
SQL中varchar和nvarchar区别:输入不同,含义不同。输入不同:varchar(4)可以输入4个字线,也可以输入两个汉字。nvarchar(4)可以输四个汉字,也可以输4个字母,但最多四个。含义不同:varchar(n)长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。
nvarchar 和 varchar 的区别是存储方式不同 varchar在SQL Server中是采用单字节来存储数据的,nvarchar是使用Unicode来存储数据的。
支持多语言的站点应考虑使用 Unicode nchar 或 nvarchar 数据类型以尽量减少字符转换问题。如果使用 char 或 varchar:如果希望列中的数据值大小接近一致,请使用 char。如果希望列中的数据值大小显著不同,请使用 varchar。
长度不同 char类型:char类型的长度固定,占用更多的存储空间。varchar类型:varchar类型的长度不固定,占用更少的存储空间。nchar类型:nchar类型的长度固定,占用更多的存储空间。nvarchar类型:nvarchar类型的长度不固定,占用更少的存储空间。
varchar(n):变长型字符数据类型,存储最长长度为8,000 个字符 nvarchar(n):可变长度 Unicode 数据,其最大长度为 4,000 字符.字节的存储大小是所输入字符个数的两倍,就是说它是双字节来存储数据的。如果存储数据如果存在单字节时,它也是以双字节来占用存储空间的。varchar一般适用于英文和数字。
相关问答
Q1: 数据库字段类型VARCHAR可以存放汉字不?
varchar存汉字是可以的,如果你存入的时候报错了,那很可能是字符集不正确的问题。即中文汉字因为字符集不正确被错误的转成了一堆乱码,存入数据库的时候报非法字符错。你仔细检查一下。
VARCHAR是一种比CHAR更加灵活的数据类型。同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。varchar2:就是默认的表示方式,比如写成:varchar2(100),就相当于varchar2(100byte),表示最大字节数是100,该字段最多能容纳100个字节,强调空间大小。
sqlserver数据库varchar(40)能存放20个汉字。sqlserver数据库中,英文字符需占用一个字节存储,汉字和其他非英文字符,需占用两个字节存储。向一个长度为40个字符的varchar型字段中输入汉字,最多可输入20个汉字。当从这个字段中取出数据时,数据其长度为20个汉字,40个字符。
Q2: SqlServer2000中nvarchar和varchar的区别
1、SQL中varchar和nvarchar区别:输入不同,含义不同。输入不同:varchar(4)可以输入4个字线,也可以输入两个汉字。nvarchar(4)可以输四个汉字,也可以输4个字母,但最多四个。含义不同:varchar(n)长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。
2、nvarchar 和 varchar 的区别是存储方式不同 varchar在SQL Server中是采用单字节来存储数据的,nvarchar是使用Unicode来存储数据的。
3、varchar:非Unicode 的字符数据 nvarchar: Unicode 数据 varchar(n):长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。
Q3: SQLServer2000中,关于数据类型的问题
BINARY 最大长度 8,000个字节的固定长度二进制数据。VARBINARY 最大长度 8,000个字节的可变长度二进制数据。IMAGE 最大长度 2^31 - 1 (2,147,483,647) 字节的可变长度二进制数据。CURSOR 对光标的引用。
Char:定长字符型,比如设定了长度为8,即使你存储的字符只有两位,系统也会自动补充6位空格,保持整个字符长度为8。主要用于码表级字段,比如人员编号,肯定是固定长度的,才会使用这个字段类型,优点是查询速度快。nChar:定长字符型,和Char差不多,唯一的区别是存储的字符以unicode形式存储。
这个情况 ... VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。
rule,在规则的文本框里输入 value in (是,否) 。然后你就可以在表的设计模式里选这个自定义类型了。PS:说错了,应该先建立规则,然后再建立自定义数据类型的时候绑定这个规则。如果是用存储过程创建类型和规则的话,就不用这个顺序了。
Q4: sqlserver数据库varchar(40)能存放多少汉字?
1、varchar(40),能存储40个字节长度的字符,存储中文字符的时候,因为中文字符1个字符就等于2个字节,所以varchar(40)只能存储20个中文字符。nvarchar(40),就可以存储40个中文字符,也就是说可以存储80个字节长度的字符。
2、数字英文储存:最多能储存4000个。汉字储存:4000个汉字 一般来说如果含有中文字元,用nvarchar,如果纯英文和数字,用char/varchar。
3、数字英文存储:最多能存储8000个。汉字存储:4000个汉字 ---分割--- varchar(n):可变长度,(n为某一整数,不同数据库,最大长度n不同)存储字符:ANSI n 必须是一个介于 1 和 8,000 之间的数值。
4、限制规则字段的限制在字段定义的时候有以下规则:a)存储限制varchar字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。
5、您好:在MySQL中 varchar最多能存储65535个字节的数据。varchar 的最大长度受限于最大行长度(max row size,65535bytes)。65535并不是一个很精确的上限,可以继续缩小这个上限。
6、和char、varchar比较起来,nchar、nvarchar最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。
Q5: 我用varchar输入的汉字显示出来是“??”,怎么回事?
不能存汉字应该是和你数据库的字符集有关,varchar看到是数据库字符集 nvarchar看的是国家字符集,同样设置成中文的话 varchar(10)能保存5个,而nvarchar(10)是10个汉字 数据库字符集不是UTF8或者GBK的话,varchar是不能保存汉字的。从plsql报错来看,数据库应该设置成了英文。
varchar存汉字是可以的,如果你存入的时候报错了,那很可能是字符集不正确的问题。即中文汉字因为字符集不正确被错误的转成了一堆乱码,存入数据库的时候报非法字符错。你仔细检查一下。
登录服务器打开Microsoft SQL Server Management Studio。在要修改的数据库上单击鼠标右键,并选择“属性”。在弹出的数据库属性窗口中点击“选择页”中的“选项”。将排序规则由默认的SQL_Latin1_General_CP1_CI_AS修改为Chinese_PRC_CI_AS。点击确定就OK。
sqlservervarchar汉字的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于sql server 中文字段、sqlservervarchar汉字的信息别忘了在本站进行查找喔。





