SQL server从入门精通----内置函数
--聚合函数的补充 --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