--聚合函数的补充
--var 求某列的方差
--数学函数
select abs(-1) --绝对值
select CEILING(3.5)
select floor(3.5)
select round(3.5555,2)
select SQRT(4)
select square(2)
select POWER(2,3)
select RAND()*100
-- 日期时间函数
select CURRENT_TIMESTAMP --2015-09-09 22:53:12.727
select GETDATE()--2015-09-09 22:55:02.980
select GETUTCDATE() --2015-09-09 14:55:54.867 --世界 标准时间
SELECT YEAR(GETDATE())
SELECT MONTH(GETDATE())
SELECT day(GetDate())
SELECT DateName(year,Getdate()) -- 返回表示指定日期的指定日期部分的字符串
SELECT DateName(WEEKDAY,Getdate()) --星期三
--DATEADD (datepart , number, date )
-- 返回给指定日期加上一个时间间隔后的新datetime 值。
SELECT DATEADD(week,1,GetDate()) --当前日期加一周后的日期
-- DATEDIFF ( datepart , startdate , enddate )
--返回跨两个指定日期的日期边界数和时间边界数。
SELECT DATEDIFF(YEAR,'2006-10-11','2006-11-01') --返回0
--日期函数的转换
--常用
Select CONVERT(varchar(100), GETDATE(), 21)--2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 25)--2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 20)--2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 112)-- 20060516
Select CONVERT(varchar(100), GETDATE(), 121)-- 2006-05-16 10:57:49.700
select CONVERT(varchar(100), GETDATE(), 120)-- 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 23)--2006-05-16
Select CONVERT(varchar(100), GETDATE(), 102)-- 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 14)--10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 24)--10:57:47
--字符串函数
select ASCII('a') --转换为ascii码 97
select char(65) --将ascii码整数转换字符 A
select left('abcdefg',3) --最左侧的3个字符串 abc
select right('abcdefg',3) --最右侧的3个字符串
select len('abcdefg') --返回字符串的个数 7
select lower('AAaaa') --大写转小写 aaaaa
select upper('AAaaa') --AAAAA
select len(LTRIM(' aaa a '))--去左右左空格5
select len(rTRIM(' aaa a '))--去右空格 7
select nchar(15) --返回unicode字符
select REPLACE('abcda','a','bbb') --把a替换成bbb bbbbcdbbb
SELECT STR( 1234.56, 6, 1 )
--从1开始计数
SELECT STUFF('abcdef', 2, 3, 'ijklmn') --aijklmnef
select SUBSTRING('fsdfsd',2,2) sd
----类型转换
select CAST('123' as int) -- 123
select CONVERT(int, '123') -- 123
select CAST(123.4 as int) -- 123
select CONVERT(int, 123.4) -- 123
select CAST('123.4' as int)
select CONVERT(int, '123.4')
-- Conversion failed when converting the varchar value '123.4' to data type int.
select CAST('123.4' as decimal) -- 123
select CONVERT(decimal, '123.4') -- 123
select CAST('123.4' as decimal(9,2)) -- 123.40
select CONVERT(decimal(9,2), '123.4') -- 123.40