硬件性能的不断提升,软件版本也随之更新,目前sql2008使用非常普遍,今天我们来总结一下常用的sql日期时间\\数学函数\\字符函数
日期和时间函数-------------------
----1、getdate,返回当前的系统时间和日期返回类型datetime
select getdate()-----返回2013-12-11 20:57:01.560
----2、dateadd,对给定的日期加上一段时间返回新的datetime值
------:当前日期加上10天、第一个参数要改变的单位、第二个值改变的时长,
---第三个要改变的日期
select dateadd(day,10,\'2012/10/1\')---返回2012-10-11 00:00:00.000
----3、datediff返回两个日期之间的差值
select datediff(day,getdate(),dateadd(day,10,getdate()))----返回10
----4、datename返回指定日期部分的字符串描述,
------返回值类型nvarchar()
select datename(year,getdate())
select datename(month,getdate())
select datename(day,getdate())
select datename(hour,getdate())
select datename(minute,getdate())
select datename(second,getdate())
----5、datepart返回给定日期指定部分的整数形式
select datepart(year,getdate())
select datepart(month,getdate())
select datepart(day,getdate())
select datepart(hour,getdate())
select datepart(minute,getdate())
select datepart(second,getdate())
----6、day、month、year返回天、月、年的整数
select day(getdate())
select month(getdate())
select year(getdate())
-------------------------------------------------------------
-----------------------------数学函数------------------------
------1\\ceiling大于等于的最大整数
select ceiling(123.4)---返回124
select ceiling(-123.4)--返回-123
------2\\floor小于或等与的最小整数
select floor(123.4)---返回123
select floor(-123.4)--返回-124
------3\\round舍入到指定精度
--第一个参数为原始数据,第二个参数为精度
--第二个参数大于零表示从小数点右边开始舍多少位
--第二个参数小于零表示从小数点左边开始舍多少位
--舍得时候要四舍五入
select round(523.125,0)---返回523.000
select round(523.125,1)---返回523.100
select round(523.125,2)---返回523.130
select round(523.125,3)---返回523.125
select round(523.125,4)---返回523.125
select round(523.125,-1)--返回520.000
select round(523.125,-2)--返回500.000
select round(623.125,-3)--返回1000.000--执行的时候可能出错
select round(523.125,-4)--返回0.000
-------------------------------------------------------------
---------------------------字符串函数------------------------
--1\\left返回从左边开始指定个数的字符串
select left(\'aabbcc\',3)--返回aab
--2\\right返回从右边开始指定个数的字符串
select right(\'aabbcc\',3)--返回bcc
--3\\len返回给定字符串中字符(注意:不是字节)的个数
select len(\'hehe\')--返回4
select len(\'呵呵\')--返回2
--4\\substrig返回字符串中指定位置后指定长度的字符串
select substring(\'aabbcc\',2,4);---返回abbc
--5\\ltrim删除字符串左边的起始空格
select left(\' aabbcc\',3)---返回a
select left(ltrim(\' aabbcc\'),3)---返回aab
--6\\rtrim删除字符串右边的所有尾随空格,同上
--7\\reverse返回字符串的逆向表达式
select reverse(\'hehe\')--返回eheh
--8\\space返回由重复的空格组成的字符串
select space(5)---返回五个空格
--9\\str返回由数字数据转换来的字符数据
-----把123.45输出六位,保留1位小数
select str(123.45,6,0)-----返回123
select str(123.45,6,1)-----返回123.5
select str(123.45,6,5)-----返回123.45
--10\\stuff将一个字符串插入到另一个字符串中(删除并插入相当于替换)
----:从第二个开始删除3个并把hhhhh插入到删除的位置
select stuff(\'abcde\',2,3,\'hhhhh\')----返回ahhhhhe
----:从第一个开始删除一个并把hhhhh插入到删除的位置
select stuff(\'abcde\',1,1,\'hhhhh\')----返回hhhhhbdcde