数据库函数整理

原文 http://www.cnblogs.com/weilengdeyu/archive/2013/06/02/3114118.html

这是作业么?算是吧,因为也许老师如果不留这个作业,我可能要好久才能想起来我之前在博客园注册过账号,最近可能心态不对,之前在随笔里也说过了, 人生如果要到达巅峰,则不应该懈怠每一秒,我现在在做什么,我不知道,但是读文章的现在呢?你心里在想什么,你多大了?是否已经虚度了大半的美好时光?好 了,不多说,毕竟这篇是学术总结,不是抒发心情的。

    在书中介绍了4种函数:①字符串函数 (8个)②日期函数 (5个)③数学函数 (8个)④系统函数  (6个) 。一共27个,下面根据我查的和书上写的我来一一总结。

字符串函数:

1.CHARINDEX

如果根据我目前已知的对单词的了解,char是字符,index是索引。而根据之前JAVA和C#学习,知道有indexOf方 法,所以我没看解释之前就已经明白了,这个函数是用来寻找一个字符串在另一个字符串中出现的位置,而书上的描述和我所想的一样是:用来寻找一个指定的字符 串在另一个字符串中的起始位置。

举例:select charindex('NAME',My name is Tom,1)

返回:4 (在My name is Tom这个字符串中 出现字符串NAME的第一次的位置是4

 

2.LEN

在之前学过的JAVA和C#中学过length的方法的属性(在JAVA中为方法,C#中为属性),所以看到LEN函数自然而然的联想到了字符串长度这块,书中的描述是:返回传递给它的字符串长度。

举例:select len('SQL Sever 课程')

返回:12

 

3.UPPER

根据我自己所学的英语知识UPPER的意思是更高,之前在Java和C#中学过的也有类似的方法,所以该函数的意思应该是把字符串转换为大写形式,书中的描述是:把在传递给它的字符串转换为大写。

举例:select upper('sql server 课程')

返回:SQL SERVER 课程

 

4.LTRIM与RTRIM

在之前学过的JAVA和C#中,方法trim是去除字符串前后的空格。在T-SQL中,该函数的意思与trim方法一样,去除空格。而在数据库中,可以控制去掉左边的空格,或者去掉右边的空格。书中的描述就是如此。

举例:select ltrim(' 周智宇 ')    // select rtirm (' 周智宇 ')

返回:周智宇 (后面的空格保留)  //   周智宇(前面的空格保留)

 

5.RIGHT

right在英语中的意思是正确、右边的意思,而在T-SQL中的right()函数的意思,在书中的描述是:从字符串右边返回指定数目的字符

举例:select right('买卖提.吐尔松',3)

返回:吐尔松  (从右往左数,第三个字符长度的位置为“吐”)

 

6.REPLACE

place在英语中的意思是空间,位置。在T-SQL中REPLACE()函数是用来替换一个字符串中的字符。

举例:select replace('莫乐可切.杨可','可','兰')

返回:莫乐兰切.杨兰

7.STUFF

在英语中的意思:

  • n. 东西;材料;填充物;素材资料
  • vt. 塞满;填塞;让吃饱
  • vi. 吃得过多

我觉得在这里的意思应该是填充,书上的描述是:在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串

举例:select stuff('ABCDEFG',2,3,'我的音乐我的世界')

返回:A我的音乐我的世界EFG (第一个字符位置下标从1开始取,第二个字符位置下标从0开始取)

 

日期函数

1.GETDATE

函数意义:取得当前的系统日期

举例: select getdate()

返回:今天的日期

例如:2013-5-30 19:22:29

 

2.DATEADD

函数意义:将制定的数值添加到制定的日期部分后的日期

举例:select dateadd(mm,4'01/01/2009')

返回:以当前的日期格式返回05/01/2009

 

3.DATEDIFF

函数意义:两个日期之间的指定日期部分的间隔

举例:select datediff(mm,'01/01/2009','05/01/2009')

返回:4

 

4.DATENAME

函数意义:日期中制定日期部分的字符串形式

举例:select datename(dw,'01/01/2000')

返回:Saturday或星期六

 

5.DATEPART

函数意义:日期中指定日期部分的整数形式

举例:select datepart(day,'01/15/2000')

返回:15

 

日期部分参数            缩写            |       日期部分参数                    缩写       

year                      yy,yyyy       |       weekday                       dw,w   

quarter                  qq,q           |        hour                             hh        

month                    mm,m        |        minute                          mi,n    

dayofyear               dy,y           |        second                          ss,s     

day                         dd,d           |         millisecond                   ms      

week                      wk,ww                                                                 

 

数学函数:

 1.RAND

函数意义:返回从0到1之间的随机float值

举例:select rand()

返回:0.79288062146374

 

2.ABS

函数意义:取数值表达式的绝对值

举例:select abs(-43)

返回:43

 

3.CEILING

函数意义:向上取整,取大于或等于制定数值、表达式的最小整数

举例:select ceiling(43.4)

返回:44

 

4.FLOOR

函数意义:向下取整,去小于或等于指定表达式的最大整数

举例:select floor(43.5)

返回:43

 

5.POWER

函数意义:取数值表达式的幂值

举例:select power(5,2)

返回:25(相当于5的2次方)

 

6.ROUND

函数意义:将数值表达式四舍五入为指定精度

举例:select round(43.543,1)

返回:43.500

 

7.SIGN

函数意义:对于正数返回1,对于负数返回-1,对于0返回0(用来判断一个数是正负或0)

举例:select sign(-43)

返回:-1

 

8.SQRT

函数意义:取浮点表达式的平方根

举例:select sqrt(9)

返回:3

 

 

 

系统函数:

1.CONVERT:

在英语中convert的意思:

  • vt. 使转变;转换…;使…改变信仰
  • vi. 转变,变换;皈依;改变信仰
  • n. 皈依者;改变宗教信仰者

在这里自然是转换的意思,知道了什么意思,再来看这个函数那么我相信会容易很多。书上的描述是:用来转变数据类型。

例如:select convert(varchar(5),12345)

返回:字符串12345(注:在转换之前为int类型)

 

2.CURRENT_USER

函数意义:返回当前用户名字

举例:select current_user

返回:你登陆的用户名

 

3.DATELENGTH

函数意义:返回用于指定表达式的字节数

举例:select datelength('中国 A 联盟')

返回:5

 

4.HOST_NAME

函数意义:返回当前用户所登录的计算机名字

举例:select hostname_name()

返回:你所登录的计算机的名字

 

5.SYSYTEM_USER

函数意义:返回当前所登录的用户名称

举例:select system_user

返回:你当前所登录的用户名

 

6.USER_NAME

函数意义:从给定的用户ID返回用户名

举例:select user_name(1)

返回:从任意数据库中返回"dbo"

                                                                                                第一次修改时间:2013年5月30日20:22:43

你可能感兴趣的:(数据库)