2023年7月13日发(作者:)
SQLServer数据类型、字符编码ANSI和ASCII区别、Unicode和UTF-8区。。。Character 字符串:数据类型char(n)varchar(n)varchar(max)text描述固定长度的字符串。最多 8,000 个字符。可变长度的字符串。最多 8,000 个字符。可变长度的字符串。最多 1,073,741,824 个字符。可变长度的字符串。最多 2GB 字符数据。存储nUnicode 字符串:数据类型nchar(n)nvarchar(n)nvarchar(max)ntext描述固定长度的 Unicode 数据。最多 4,000 个字符。可变长度的 Unicode 数据。最多 4,000 个字符。可变长度的 Unicode 数据。最多 536,870,912 个字符。可变长度的 Unicode 数据。最多 2GB 字符数据。存储Binary 类型:数据类型bitbinary(n)varbinary(n)varbinary(max)image描述允许 0、1 或 NULL固定长度的⼆进制数据。最多 8,000 字节。可变长度的⼆进制数据。最多 8,000 字节。可变长度的⼆进制数据。最多 2GB 字节。可变长度的⼆进制数据。最多 2GB。存储Number 类型:数据类型tinyintsmallintintbigint描述允许从 0 到 255 的所有数字。允许从 -32,768 到 32,767 的所有数字。允许从 -2,147,483,648 到 2,147,483,647 的所有数字。允许介于 -9,223,372,036,854,775,808 和 9,223,372,036,854,775,807 之间的所有数字。存储1 字节2 字节4 字节8 字节固定精度和⽐例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。decimal(p,s)p 参数指⽰可以存储的最⼤位数(⼩数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。s 参数指⽰⼩数点右侧存储的最⼤位数。s 必须是 0 到 p 之间的值。默认是 0。5-17字节固定精度和⽐例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。numeric(p,s)5-17p 参数指⽰可以存储的最⼤位数(⼩数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。s 参数指⽰⼩数点右侧存储的最⼤位数。s 必须是 0 到 p 之间的值。默认是 0。字节smallmoneymoney介于 -214,748.3648 和 214,748.3647 之间的货币数据。介于 -922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。从 -1.79E + 308 到 1.79E + 308 的浮动精度数字数据。 参数 n 指⽰该字段保存 4 字节还是 8 字节。float(24) 保存 4 字节,⽽ float(53) 保存 8 字节。n 的默认值是 53。从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据。4 字节8 字节4 或 8字节4 字节float(n)realDate 类型:数据类型datetime描述从 1753 年 1 ⽉ 1 ⽇ 到 9999 年 12 ⽉ 31 ⽇,精度为 3.33 毫秒。存储8 bytes6-8bytes4 bytes3 bytes3-5bytes8-10bytesdatetime2从 1753 年 1 ⽉ 1 ⽇ 到 9999 年 12 ⽉ 31 ⽇,精度为 100 纳秒。smalldatetimedate从 1900 年 1 ⽉ 1 ⽇ 到 2079 年 6 ⽉ 6 ⽇,精度为 1 分钟。仅存储⽇期。从 0001 年 1 ⽉ 1 ⽇ 到 9999 年 12 ⽉ 31 ⽇。time仅存储时间。精度为 100 纳秒。datetimeoffset与 datetime2 相同,外加时区偏移。timestamp存储唯⼀的数字,每当创建或修改某⾏时,该数字会更新。timestamp 基于内部时钟,不对应真实时间。每个表只能有⼀个 timestamp 变量。其他数据类型:数据类型sql_variantuniqueidentifierxmlcursortable描述存储最多 8,000 字节不同数据类型的数据,除了 text、ntext 以及 timestamp。存储全局标识符 (GUID)。存储 XML 格式化数据。最多 2GB。存储对⽤于数据库操作的指针的引⽤。存储结果集,供稍后处理。字符编码ANSI和ASCII区别、Unicode和UTF-8区别⼀.位计算机存储信息的最⼩单位,称之为位(bit),⾳译⽐特,⼆进制的⼀个“0”或⼀个“1”叫⼀位。⼆.字节字节(Byte)是⼀种计量单位,表⽰数据量多少,它是计算机信息技术⽤于计量存储容量的⼀种计量单位,8个⼆进制位组成1个字节。在ASCII码中,⼀个标准英⽂字母(不分⼤⼩写)占⼀个字节位置,⼀个标准汉字占⼆个字节位置。三.字符字符是指计算机中使⽤的⽂字和符号,⽐如“1、2、3、A、B、C、~!·#¥%…*()+”等等。四.ASCII码先从最简单的ASCII说起吧,这个⼤家也熟悉:全名是American Standard Code for Information Interchange, 叫做“美国信息交换标准码”。ASCII码中,⼀个英⽂字母(不分⼤⼩写)占⼀个字节的空间,⼀个中⽂汉字占两个字节的空间。ASCII码是⽬前最普及的⼀种字符编码,它扎根于我们的互联⽹,操作系统,键盘,打印机,⽂件字体和打印机等。ANSI码ANSI编码是⼀种对ASCII码的拓展:ANSI编码⽤0x00~0x7f (即⼗进制下的0到127)范围的1 个字节来表⽰ 1 个英⽂字符,超出⼀个字节的 0x80~0xFFFF 范围来表⽰其他语⾔的其他字符。也就是说,ANSI码仅在前128(0-127)个与ASCII码相同,之后的字符全是某个国家语⾔的所有字符。值得注意的是,两个字节最多可以存储的字符数⽬是2的16次⽅,即65536个字符,这对于⼀个语⾔的字符来说,绝对够了。还有ANSI编码其实包括很多编码:中国制定了GB2312编码,⽤来把中⽂编进去另外,⽇本把⽇⽂编到Shift_JIS⾥,韩国把韩⽂编到Euc-kr⾥,各国有各国的标准。受制于当时的条件,不同语⾔之间的ANSI码之间不能互相转换,这就会导致在多语⾔混合的⽂本中会有乱码。Unicode编码为了解决不同国家ANSI编码的冲突问题,Unicode应运⽽⽣:如果全世界每⼀个符号都给予⼀个独⼀⽆⼆的编码,那么乱码问题就会消失。这就是Unicode,就像它的名字都表⽰的,这是⼀种所有符号的编码。Unicode标准也在不断发展,但最常⽤的是⽤两个字节表⽰⼀个字符(如果要⽤到⾮常偏僻的字符,就需要4个字节)。现代操作系统和⼤多数编程语⾔都直接⽀持Unicode。但是问题在于,原本可以⽤⼀个字节存储的英⽂字母在Unicode⾥⾯必须存两个字节(规则就是在原来英⽂字母对应ASCII码前⾯补0),这就产⽣了浪费。那么有没有⼀种既能消除乱码,⼜能避免浪费的编码⽅式呢?答案就是UTF-8!UTF-8编码
发布者:admin,转转请注明出处:http://www.yc00.com/news/1689247033a225644.html
评论列表(0条)