SqlServer随笔

1,Varchar与Char的区别:在数据库里面录入数据的时候如果所录入的数据长度 没有规定的数据长度长,Char会用空格补齐而Varchar不会,所以我们在建数据库 的时候一般用Varchar而不用Char,如果所录入的数据包含中文或者其他则用Nvarcahr 就像姓名。

2,SQL语句是DBMS“交谈专用的语句”。

3,SQL主要分为DDL(数据定义语言)和DML(数据操作语言)两类。 像Create Table,Drop Table等属于数据定义语言,像Select,Insert等属于数据操作语言, 就是要对数据进行具体操作。

4,SQLServer中主要有两种常用的主键数据类型:int(或bigint)+标识列 (自动增长字段);uniqueidentifier(又称Guid,UUID)。

5,主键设为标识列会永不重复的原因:是因为当我们在插入数据的时候,数据库 是先将数据插入再生成编号,所以永不重复,解决了并发的问题。

6,Guid算法是一种可以产生唯一标识的高效算法,它使用网卡MAC,地址,纳秒级时间, 芯片ID码等算出来的,这样保证每次生成的GUID永远不会重复。SQLServer中生成 GUID的函数newid(),.NET中生成GUID的方法:Guid.NewGuid(),返回值 是Guid类型。

7,Int自增字段与Guid的比较:Int自增字段占用空间小,无需开发人员干预, 易读:缺点就是效率低,数据导入导出的时候比较痛苦。 Guid的优点就是效率高,数据导入导出比较方便:缺点占用空间大,不易读。 业界主流倾向于使用Guid。

8,可以给字段设默认值,如果Guid的类型主键的默认值设定为newid()就会 自动生成。

9,Where子句中不能包含聚合函数,having也不能取代where,having是对分组以后 信息的过滤,能用的列和select中能用的列是一样的。

10,ABS():求决定值。ceiling():舍入到最大整数。floor():舍入到最小整数 round():四舍五入。 LEN():计算字符串长度,LOWER()。UPPER:转小写,大写 LTRIM():字符串左侧的空格去掉 RTRIM():字符串右侧的空格去掉 SUBSTRING(string,start_position.length)参数string为主字符串,start_position 为子字符串在住字符串中的起始位置,length为子字符串的最大长度 GETDATE():取得当前日期时间  DATEADD(datepart,number,date), 计算增加以后的日期,参数date为待计算的日期;参数date为增量;参数datepart 为计量单位。 DATEDIFF(datepart,startdate,enddate);计算两个日期之间的差额,datepart为计量单位。 DATEPART(datepart,date):返回一个日期的特定部分。

原文地址:https://www.cnblogs.com/lijin/p/2335124.html