写点什么

SQL Sever 提供的字符串类型

作者:乔乔
  • 2022-11-05
    辽宁
  • 本文字数:880 字

    阅读完需:约 3 分钟

字符串类型

字符串型数据由汉字,英文字母,数字和各种符号组成。目前字符的编码方式有两种:一种是非 Unicode 编码,另一种是 Uicode。非 Unicode 编码指的是不同国家或地区的编码长度不一样,比如英文字母的编码是一个字节,中文汉字编码是 2 字节。统一字符编码不管在哪个地区,哪种语言均采用双字节编码,即将世界上所有的字符统一进行编码。

非 Unicode 字符串类型

  • char[(n)]:固定长度,非 Unicode 字符串数据。n 用于定义字符串长度,取值范围为 1~8000.char 的 ISO 同义词为 character,n 个字节存储。

  • varchar[(n|max)]:可变长度,非 Unicode 字符串数据。n 用于定义字符串长度,取值范围为 1~8000.max 指示最大存储大小是 2 的 31 次方-1 字节(2GB)。varchar 的 ISO 同义词为 char varying 或 character varying,n+2 字节存储。

  • text:可储存 2 的 31 次方-1 个长度可变的非 Unicode 字符数据。

Unicode 字符串类型

  • nchar[(n)]:固定长度的 Uicode 字符串数据。n 用于定义字符串长度,取值范围为 1~4000.nchar 的 ISO 同义词为 national char 和 national character。2n 个字节存储。

  • nvarchar[(n|max)]:可变长度,Unicode 字符串数据。n 用于定义字符串长度,取值范围为 1~4000.max 指示最大存储大小是 2 的 31 次方-1 字节(2GB)。nvarchar 的 ISO 同义词为 national char varying 或 national character varying,2n+2 字节存储。

  • ntext:长度可变的 Uncode 字符串数据,字符串最大长度为 2 的 30 次方-1.ntext 的 ISO 同义词为 national text。所输入字符串长度的两倍储存(以字节为单位)。

如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1.

对 char,varchar,nchar 和 nvarchar 的使用,可参考如下建议:

  • 如果列数据项的大小一致,则建议使用 char 或 nchar。

  • 如果列数据项的大小差异相当大,则建议使用 varchar 或 nvarchar。

  • 如果列数据项大小相差很大,而且大小可能超过 8000 字节,则使用 varchar(max)或 nvarchar(max)。

  • 如果希望支持多语言,则建议使用 nchar 或 nvarchar 类型,以最大限度地消除字符转换问题。

作者:Nicole 乔

链接:https://juejin.cn/post/7153461970363449381

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

发布于: 刚刚阅读数: 4
用户头像

乔乔

关注

平安喜乐,一切顺遂 2022-07-01 加入

一个热爱技术,热爱生活的人

评论

发布
暂无评论
SQL Sever提供的字符串类型_11月月更_乔乔_InfoQ写作社区