第八节: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 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 

 

posted @   Yaopengfei  阅读(1447)  评论(1编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示