SQL函数备忘
字符串函数:
select ascii('a') --97,对应的ascii码
select char('48'),char('49') --0,1,对应的字符
select lower('Ab') --转成小写
select upper('Ab') --转成大写
select ltrim(' ab') --去除左空格
select rtrim('ab ') --去除右空格
select len('a-1') --3,字符长度
select left('123456',5) --12345,取左边5位
select right('123456',5) --23456,取右边5位
select substring('123456',1,2) --12,从第1位开始取2位
select charindex('2','123456123456') --2,第1次出现的位置
select charindex('24','123456123456') --0,没找到
select charindex('2','123456123456',4) --8,从第4位开始找
select reverse('abcD') --Dcba,反转字符
select replace('abcde','a','b') --bbcde,替换
select str(123.456,4,2) --123,将数字转成字符,最大长度为4(小数点占1位),保留2位小数
select str(123.456,5,2) --123.5,四舍五入,小数点
select str(123.456,6,2),str(123.456,6,1) --123.46,123.5
select stuff('abcde',2,3,'f') --afe,起始位置2,长度3,转为字符f
select replace('abcde','bcd','f') --afe
select replicate('ab',3) --ababab,返回3个相同的字符
日期函数:
select datepart(yy,'2008-08-01'),year('2008-08-01') --2008,2008
select datepart(mm,'2008-08-01'),month('2008-08-01') --8,8
select datepart(dd,'2008-08-01'),day('2008-08-01') --1,1
select datepart(dw,'2008-08-01') --6,第6天,星期5
select datepart(hh,'18:30:01'),datepart(mi,'18:30:01'),datepart(ss,'18:30:01') --18,30,1
select dateadd(dd,1,'2008-08-01') --2008-08-02 00:00:00 000
select datediff(mm,'2008-08-01','2008-09-01'),datediff(mm,'2008-09-01','2008-08-01') --1,-1(负1)
select datename(dw,'2008-08-01') --星期五
数学函数:
select abs(-2) --2,绝对值
select ceiling(1.2),ceiling(2) --2,2,大于等于1.2,2的最小整数
select ceiling(-1.2),ceiling(-2) ---1,-2(负1,负2)
select round(1.2,0) --1.0,四舍五入,指定位数的小数
select round(1.55,1),round(1.554,2) --1.60,1.550(后面加0是由于SQL版本不同)
select square(3) --9,3的平方
select sqrt(9),sqrt(5) --3,2.23606797749979,9和5的开方
select sign(2),sign(-3),sign(0) --1,-1,0,判断正负0