第八节:SQLServer函数大全(一)--字符串函数、数学函数

一. 字符串函数

1. 返回字符串中最左侧的第一个值的ASCII代码值

select ASCII('SS'),ASCII('SQL'),ASCII('1')

2. 将整数类型的ASCII值转换成对应的字符

select CHAR(115),CHAR(49)

3. 从左侧或者从右侧获取指定个数的元素

select LEFT('yaopengfei',6) as p1
select RIGHT('yaopengfei',5) as p2

4. 从左侧去空格或者从右侧去空格

select LTRIM('   ypf   ')
select RTRIM('   ypf   ')

5. 逆序字符串

select REVERSE('ypf')

6.返回字符串的长度

select LEN('ypf'),LEN('李马茹')

7 查找字符串的开始位置

  CHARINDEX(str1,str,[start])函数返回子字符串str1在字符串str中的开始位置,start为搜索的开始位置,如果指定start参数,则从指定位置开始搜索;如果不指定start参数或者指定为0或者负值,则从字符串开始位置搜索。

select CHARINDEX('a','banana'),CHARINDEX('a','banana',4), CHARINDEX('na','banana', 4);

8.截取字符串的指定位置

下面 1 代表从第一个位置开始截取,5 代表截取字符的长度为 5。

select SUBSTRING('breakfast',1,5)

9. 大小写转换

select UPPER('Red'),LOWER('Red')

10. 替换函数

select REPLACE('www.baidu.com','w','x')

11. 将数值类型转换成字符数据 (位数的优先原则,从左侧数,优先整数)

select STR(3141.59,6,1),STR(123.45,5,2)

二. 数学函数

1. 绝对值和圆周率

select ABS(-2.5),ABS(-7.5),PI()

 

2. 平方根

select SQRT(4),SQRT(9)

 

3. 随机数

  RAND(x)返回一个随机浮点值v,范围在0~1之间(即0<=v<=1.0)。若指定一个整数参数x,则它被用作种子值,使用相同的种子数将产生重复序列。如果同一种子值多次调用RAND函数,它将返回同一生成值。

select RAND(),RAND(),RAND();
select RAND(5),RAND(5),RAND(11);

 

4. 四舍五入

  ROUND(x,y)返回接近于参数x的数,其值保留到小数点后面y位,若y为负值,则将保留x值到小数点左边y位。

select ROUND(1.54,1),ROUND(1.56,1),ROUND(12.54,-1)

 

5. 判断正、负、零

  SIGN(x)返回参数的符号,x的值为负、零、正时,返回结果依次为-1、0、1。

select SIGN(10),SIGN(-10),SIGN(0)

 

6. 不小于x的最小值、不大于x的最大值

  CEILING(x)返回不小于x的最小整数值,FLOOR(x)返回不大于x的最大整数值。

select CEILING(-3.35), CEILING(3.35), FLOOR(-3.35)

 

7. 幂运算函数

(1). POWER(x,y) 求x的y次方

select POWER(2,3),POWER(3,2)

(2). SQUARE(x) 求x的平方

select SQUARE(3),SQUARE(-6),SQUARE(0)

(3). EXP(x) 求e的x次方

select EXP(2)

8. 对数运算

(1). LOG(x)返回x的自然对数,x相对于基数e的对数。
(2). LOG10(x)返回x的基数为10的对数。
select LOG(3), LOG(6), LOG10(1), LOG10(100), LOG10(1000);

 

9.角度和弧度的转换

select RADIANS(90.0), RADIANS(180.0), DEGREES(PI()/2), DEGREES(PI());

 

10. 正弦、反正弦

select SIN(PI()/2),SIN(PI()),ASIN(1),ASIN(0);

 

11. 余弦、反余弦

select COS(0),COS(PI()),ACOS(1),ACOS(0);

 

12. 正切、反正切、余切

select TAN(0.3),ROUND(TAN(PI()/2),0), ATAN(0.30933624960962325),ATAN(1),COT(0.3),1/TAN(0.3),COT(PI()/4);

 

!

  • 作       者 : Yaopengfei(姚鹏飞)
  • 博客地址 : http://www.cnblogs.com/yaopengfei/
  • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
  • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 
原文地址:https://www.cnblogs.com/yaopengfei/p/12616026.html