码迷,mamicode.com
首页 > 数据库 > 详细

第二章 单表查询 T-SQL语言基础(3)

时间:2015-12-08 10:07:05      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

单表查询(3)

2.6 处理字符数据

字符数据的查询处理,内容包括:类型,排序规则,运算符和函数,以及模式匹配.

 

2.6.1 数据类型

SQL Server支持两种字符数据类型----普通字符和Unicode字符.普通字符数据类型包括CHAR和VARCHAR,Unicode字符数据类型包括NCHAR和NVARCHAR.

普通字符和Unicode字符的区别:普通字符使用一个字节来保存每个字符,而Unicode字符则需要两个字节.

 

注:当表示一个普通的字符常量时,只需要简单地使用单引号:‘This is a regular charactor string literal‘;当表示一个Unicode类型的字符常量时,需要在前面指定一个字符N作为前缀,N‘This is a regular charactor string literal‘

 

  ****名称中不包含VAR元素的任何数据类型都是固定长度的(CHAR,NCHAR),对于这样的类型,SQL Server会按照为列定义的大小,在行中为该列预留出固定的空间,所以该列的长度并不是字符串中字符的实际个数----(这种类型的存储消耗不是最优的,在读取数据时可能要付出更多的代价.)

  ****名称中包含VAR元素的数据类型是可变长度的(VARCHAR,NVARCHAR),SQL Server在行中会按字符串的实际长度来保存数据,外加两个额外的字节以保存数据的偏移值(offset data).----(这种类型的,更新数据时可能需要对行进行扩展,导致数据移动,超出当前页的范围.与固定长度的数据类型相比,对具有可变长度数据类型的数据进行更新的效率会有所降低.)

  注:在定义可变长度的数据类型时,可以使用MAX说明符,而不必指定字符的最大数量.(当用MAX说明符来定义一个列时,可以把一个值直接保存到行的内部,其长度具有一定的上限,默认是8000字节.大小超过该上限的值将作为大型对象(LOB,large object),保存在行的外部).

 

2.6.2 排序规则(Collation)

 

第二章 单表查询 T-SQL语言基础(3)

标签:

原文地址:http://www.cnblogs.com/youguess/p/5028194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!