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

posted @ 2009-07-27 18:45  DaCHun  阅读(234)  评论(0编辑  收藏  举报