加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

[MSSQL]MSSQL 基础之善用Char类型

发布时间:2022-11-25 22:31:01 所属栏目:MsSql教程 来源:转载
导读: 引言
今天为什么要开题来说Char类型呢?在近几天的社区问题中发现,有些朋友对char、varchar、nvarchar这几种字符类型的特性还不是很清楚。以至在实际的使用中Mssq类型转换函数,不可避免的

引言

今天为什么要开题来说Char类型呢?在近几天的社区问题中发现,有些朋友对char、varchar、nvarchar这几种字符类型的特性还不是很清楚。以至在实际的使用中Mssq类型转换函数,不可避免的产生了一些问题。

类型介绍

char类型

char(n)类型,长度是固定,索引效率高,n介于1-8000之间的数据。假设为char(10)的变量存储一个”abc”字符串,那么实际存储为abc+7个空字符。所以在使用时如果不希望有空字符可以使用Rtrim去掉空字符。

declare @content char(10)

select 1, @content,len(@content)

set @content = ‘abc’

select 2, @content,len(@content)

select 3, @content + ‘_end’

select 4, rtrim(@content)+’_end’

varchar类型

varchar(n)类型,可变长度,所谓可变长并不是真的可以任意变长,而是相对于char类型的固定占位而言,最大长度不能超出定义长度。n介于1-8000之间的数值。注意标红部分。

declare @content varchar(10)

select 1, @content,len(@content)

set @content = ‘abc’

select 2, @content,len(@content)

select 3, @content + ‘_end’

select 4, rtrim(@content)+’_end’

set @content = N’6?’

select 5, @content

nvarchar类型

nvarchar(n)类型,可变长Unicode类型。一个字符使用两个字节存储,所以能够存储西方和特殊字符而不致产生乱码。n介于1-4000之间的数值。注意标红部分。

declare @content nvarchar(10)

select 1, @content,len(@content)

set @content = ‘abc’

select 2, @content,len(@content)

select 3, @content + ‘_end’

select 4, rtrim(@content)+’_end’

set @content = N’6?’

select 5, @content

扩展

写了这么多都还没有点到题目,是不是楼主是个标题党哇。呵呵,各位看官居莫怪,其实如何善用char类型已经在类型介绍中说过了。既然char类型长度固定,而且索引效率高,那么作为编码字段还是非常有用的,强调一点是固定长度编码。如:性别字典表,char(2) 01 表示男 02 表示女,如国家字典,char(4) 0001表示中国,0002表示韩国。千万注意一定不要存储成1,2,前置的0是不可省略的。

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!