原文 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
在英语中的意思:
我觉得在这里的意思应该是填充,书上的描述是:在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串
举例: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的意思:
在这里自然是转换的意思,知道了什么意思,再来看这个函数那么我相信会容易很多。书上的描述是:用来转变数据类型。
例如: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