T-Sql学习(1) - 基本数据类型和聚合函数

[前言]

开始学习数据库了,按照MS的四本书系列的分类方法,分为T-SQL和develop两部分。

 

[正文]

1, 确定性函数和不确定性函数

 

2,关于聚合函数,注意:count(*)和count(a)不一样,前者计算NULL行,后者不计算NULL行;min/max/avg/sum(*)和(a)一样:都忽略NULL行。

聚合函数 (Transact-SQL)
AVG
 MIN
 
CHECKSUM_AGG :某一个字段(主要是字符串类型)的checksum(校验和),主要是为了将来作为index而提高效率使用;
 SUM
 
COUNT
 STDEV :标准偏差
 
COUNT_BIG
 STDEVP 总体标准偏差
 
GROUPING
 VAR
 
MAX
 VARP :总体偏差。这三个偏差是什么区别呢?不知道,过后再研究一下。
 
3,了解having和where的区别

having用于和group by连用(不连也行),以聚合作为having的条件;对象是一组row;对选择结果数据进行再次筛选;

where以单个row做对象;在数据选择之前进行条件限制;

 

4,字符串函数
ASCII
 NCHAR
 SOUNDEX
CHAR
 PATINDEX
 SPACE
CHARINDEX
 QUOTENAME
 STR
DIFFERENCE
 REPLACE
 STUFF
LEFT
 REPLICATE
 SUBSTRING
LEN
 REVERSE
 UNICODE
LOWER
 RIGHT
 UPPER
LTRIM
 RTRIM 
 
5,表的基本数据类型
Decimal和decimal :确定值的小数,表示长度比较小;

float和real:近似值的小数,表示范围比较大;

nchar和char区别:national char

ntext、text 和 image 以后会基本废弃。

 

6,数据类型转换

cast( @var as datatype) -- SQL92的标准

convert( datatype, @var [,option])

 

7,关于timestamp类型,一个表里面只能有一个timestamp列,它是8byte的、全数据库唯一的一个数据。所谓的时间戳,和time、date根本没有任何的关系,只是为了控制同时访问、更新而做的一个简单的锁,没更新该表的一个数据后,这个字段的值都会相应的修改。

 

[后记]

“为什么顺序、分支与循环是基本逻辑呢”?“作为基本逻辑,它们充备吗?”

Dijkstra说,他基本证明了完备性。

 

你可能感兴趣的:(数据库,Date,image,null,float,byte)