SQL Server系列(5) -- 函数
来源:互联网 发布:气体检测仪数据 编辑:程序博客网 时间:2024/06/06 05:04
学习视频:
链接:http://pan.baidu.com/s/1i3BAJpr 密码:dja8
算数函数:
三角函数:sin(浮点表达式),cos(浮点表达式),tan(浮点表达式),cot(浮点表达式)反三角函数:asin(浮点表达式),acos(浮点表达式),atan(浮点表达式)
角度弧度转换函数:degrees,radians
幂函数:exp(浮点表达式),log(浮点表达式),log10(浮点表达式),sqrt(浮点表达式)(求平方根)
取近似值函数:ceiling(数字表达式),floor(数字表达式),round(数字表达式,整型表达式)
符号函数:ABS(数字表达式),SIGN(数字表达式),随机函数,RAND,PI()函数
--求60度角的三角函数值
declare @test_var float,@test_value1 float,@test_value2 float,@test_value3 float
set @test_var=30
set @test_value1=SIN(@test_var)
set @test_value2=cos(@test_var)
set @test_value3=tan(@test_var)
select '30弧度角的正弦值为:',@test_value1
select '30弧度角的余弦值为:',@test_value2
select '30弧度角的正切值为:',@test_value3
--将60弧度转换为角度值
declare @test_var float,@test_value1 float
set @test_var=1.0471975511966
set @test_value1=DEGREES(@test_var)
select '60弧度转换为角度值为:',@test_value1
--求平方根
declare @test_var float,@test_value1 float
set @test_var=100
set @test_value1=sqrt(@test_var)
select '100的平方根为:',@test_value1
--求大于等于某值的最小整数
declare @test_var float,@test_value1 float
set @test_var=78.1
set @test_value1=ceiling(@test_var)
select '大于等于78.1的最小整数为:',@test_value1
--求小于等于某值的最大整数
declare @test_var float,@test_value1 float
set @test_var=78.9
set @test_value1=floor(@test_var)
select '大于等于78.9的最小整数为:',@test_value1
--将数值四舍五入
declare @test_var float,@test_value1 float
set @test_var=78.95164981
set @test_value1=round(@test_var,2)
select '四舍五入后的值为:',@test_value1
--取绝对值
declare @test_var float,@test_value1 float
set @test_var=-78.95164981
set @test_value1=abs(@test_var)
select '绝对值为:',@test_value1
--取出数值的正负符号
declare @test_var float,@test_value1 float
set @test_var=-78.95164981
set @test_value1=sign(@test_var)
select '符号为:',@test_value1
--随机数函数
declare @test_value1 float
set @test_value1=RAND()
print @test_value1
--返回圆周率
declare @test_value1 float
set @test_value1=pi()
print @test_value1
--字符转为ASCII码
declare @test_string1 char(60),@test_string2 char(60)
set @test_string1='H'
select 'ASCII码为:',ASCII(@test_string1)
--ASCII码转为字符
select 'ASCII码为:',char(71)
--小写字母转为大写字母
declare @test_string1 char(60),@test_string2 char(60)
set @test_string1='Hello,World'
set @test_string2=UPPER(@test_string1)
print @test_string2
--大写字母转为小写字母
declare @test_string1 char(60),@test_string2 char(60)
set @test_string1='HELLO,WORD'
set @test_string2=lower(@test_string1)
print @test_string2
--数字转换为字符(str函数)
declare @test_string1 float,@test_string2 char(60)
set @test_string1=1000
set @test_string2=' Hello,Word'
print str(@test_string1,7,2)+@test_string2
--str(),第二个参数是转化后的长度,第三个参数指保留小数点后几位
--计算字符串长度(LEN函数)
declare @test_string1 varchar(60),@test_string2 varchar(60)
set @test_string1='Hello,Word!'
set @test_string2=LEN(@test_string1)
select '字符串Hello,Word!的长度为:',@test_string2
--计算字符串长度(LTRIM函数去掉首部空格后字符串长度)
declare @test_string1 varchar(60),@test_string2 varchar(60)
set @test_string1=' Hello,Word!'
set @test_string2=LEN(LTRIM( @test_string1))
select '去掉首空格后字符串为:',@test_string2
--计算字符串长度(LTRIM函数去掉尾部空格后字符串长度)
declare @test_string1 varchar(60),@test_string2 varchar(60)
set @test_string1=' Hello,Word! '
set @test_string2=LEN(RTRIM( @test_string1))
select '去掉尾部空格后的字符串为:',@test_string2
--从左侧开始截取字符串
declare @test_string1 varchar(60),@test_string2 varchar(60)
set @test_string1='Hello,Word!'
set @test_string2=left( @test_string1,8)
select '截取后的字符串为:',@test_string2
--从右侧开始截取字符串
declare @test_string1 varchar(60),@test_string2 varchar(60)
set @test_string1='Hello,Word!'
set @test_string2=right( @test_string1,8)
select '截取后的字符串为:',@test_string2
--从指定位置截取指定长度字符串
declare @test_string1 varchar(60),@test_string2 varchar(60)
set @test_string1='Hello,Word!'
set @test_string2=SUBSTRING(@test_string1,2,6)
select '截取后的字符串为:',@test_string2
--替换字符串中的字母
declare @test_string1 varchar(60),@test_string2 varchar(60)
set @test_string1='Hello,World!'
set @test_string2=replace(@test_string1,'l','a')
select '输出结果为:',@test_string2
--space函数
declare @test_string1 varchar(60),@test_string2 varchar(60)
set @test_string1='Hello,World!'
set @test_string2=@test_string1+SPACE(10)+'空格后的内容'
select '输出结果为:',@test_string2
--替换字符串中指定字符
declare @test_string1 varchar(60),@test_string2 varchar(60)
set @test_string1='Hello,World!'
set @test_string2=stuff(@test_string1,2,3,'替换后的内容')
select '输出结果为:',@test_string2
--转换数据类型
declare @test_string1 int,@test_string2 varchar(60)
set @test_string1=3000
print '变量值为:'+cast(@test_string1 as varchar(30))
--转换数据类型
declare @test_string1 int,@test_string2 varchar(60)
set @test_string1=3000
print 'Hello,World!'+convert(varchar(30),@test_string1)
--获取当前时间
declare @test_string1 varchar(100),@test_string2 varchar(60)
set @test_string1=GETDATE()
print '当前时间为:'+@test_string1
--获取当前年份
declare @test_string1 varchar(100),@test_string2 varchar(60)
set @test_string1=YEAR(GETDATE())
print '当前年份为:'+@test_string1
--获取当前月份
declare @test_string1 varchar(100),@test_string2 varchar(60)
set @test_string1=month(GETDATE())
print '当前月份为:'+@test_string1
--获取当前日
declare @test_string1 varchar(100),@test_string2 varchar(60)
set @test_string1=day(GETDATE())
print '当前日为:'+@test_string1
--以字符串型数据返回日期的指定部分(datename函数)
declare @test_var1 varchar(100),@test_var2 varchar(100),@test_var3 varchar(100)
set @test_var1=DATENAME(hour,getdate())
set @test_var2=DATENAME(MINUTE,getdate())
set @test_var3=DATENAME(SECOND,getdate())
print '当前系统时间为:'+@test_var1+'时'
print '当前系统时间为:'+@test_var2+'分'
print '当前系统时间为:'+@test_var3+'秒'
--以整型数据返回日期的指定部分(datepart函数)
declare @test_var1 int,@test_var2 int,@test_var3 int
set @test_var1=datepart(HOUR,getdate())
set @test_var2=datepart(MINUTE,getdate())
set @test_var3=datepart(SECOND,getdate())
print '当前系统时间为:'+cast(@test_var1 as varchar(100))
print '当前系统时间为:'+cast(@test_var2 as varchar(100))
print '当前系统时间为:'+cast(@test_var3 as varchar(100))
--增加时间(dateadd函数)
declare @test_var1 datetime,@test_var2 datetime
set @test_var1=dateadd(DAY,10,getdate())
set @test_var2=dateadd(DAY,-10,getdate())
print '改变后的时间为:'+cast(@test_var1 as varchar(100))
print '改变后的时间为:'+cast(@test_var2 as varchar(100))
--返回两个日期之间的差(datediff函数)
DATEDIFF(datepart,startpart,endpart)
--创建自定义函数
格式:
Create Function 函数名(参数 参数类型) returns 返回值数据类型
as
begin
程序块
end
eg:
create Function test_funcA(@test_var int) returns int
as
begin
declare @sum int
set @sum=@test_var*8
return @sum
end
--函数的调用
declare @test_var int
set @test_var=0
while @test_var<=20
begin
print dbo.test_funcA(@test_var)
set @test_var+=1
end
0 0
- SQL Server系列(5) -- 函数
- 【转载】SQL Server性能调教系列(5)--SQL Server配置
- Sql Server系列:视图
- [SQL SERVER系列]之常用函数和开窗函数介绍及实例
- Sql Server基本函数
- Sql Server基本函数
- Sql Server 基本函数
- Sql Server基本函数
- SQL SERVER 的函数
- SQL SERVER 的函数
- SQL SERVER 的函数
- Sql Server基本函数
- Sql Server 基本函数
- Sql Server基本函数
- Sql Server基本函数
- sql server 日期函数
- Sql Server基本函数
- Sql Server基本函数
- Java多线程编程模式实战指南(一):Active Object模式
- Android动画_AlphaAniamtion
- EMC电磁兼容问题
- 2.puppet学习笔记:puppet资源file详细介绍
- 在Linux(CentOS 64)环境下编译hadoop
- SQL Server系列(5) -- 函数
- 一次奇怪的assertOpen Issue 解决
- 替换数据中所有回车和换行
- 打开MySQL数据库远程访问的权限
- 大数据时代下的“管理”要素数据化
- Java多线程编程模式实战指南(二):Immutable Object模式
- IOS开发调用系统相机和打开闪光灯
- EasyUi中combotree循环获取父节点至根节点并输出路径
- 数据库锁