数据库函数整理(一)

2014-11-24 15:27:15 · 作者: · 浏览: 0
数据库函数整理
这是作业么?算是吧,因为也许老师如果不留这个作业,我可能要好久才能想起来我之前在博客园注册过账号,最近可能心态不对,之前在随笔里也说过了,人生如果要到达巅峰,则不应该懈怠每一秒,我现在在做什么,我不知道,但是读文章的现在呢?你心里在想什么,你多大了?是否已经虚度了大半的美好时光?好了,不多说,毕竟这篇是学术总结,不是抒发心情的。
在书中介绍了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
函数意义:向下取整,去小于或等于