SQL Server基础操作(此随笔仅作为本人学习进度记录七 !--函数)
函数系统函数(算术函数,聚合函数,数据类型转换函数,字符串函数,日期函数,系统统计函数,文本图像函数)算术函数:是对数据类型为整型、浮点型、实型,货币型这些列进行操作算术函数包括(三角函数,反三角函数,幂函数,角度弧度转化函数,取近似值函数,随机函数)三角函数:显示60度角的正弦、余弦值。 三角函数(返回指定角度的正弦余弦等值) 反三角函数(根据指定正弦或余弦的浮点值,返回指定的弧度角) declare @test_Var float,@Test_Value float SIN(浮点表达式)正弦函数 ASIN(浮点表达式)反正弦set @test_Var=60 COS(浮点表达式)余弦函数 ACOS(浮点表达式)反余弦set @Test_Value=SIN(@test_Var) TAN(浮点表达式)正切函数 ATAN(浮点表达试)反正切select '60弧度角的正弦值为:',@Test_Value COT(浮点表达式)余切函数 ACOT(浮点表达式)反余切在面向对象编程设计中,函数可以认为是一个集成的代码块。函数是可以反复调用。 算术函数 符号函数 角度弧度转换函数 幂函数 ABS(数字表达式) 取绝对值 SIGN(数字表达式) 判断参数的符号是正号还是负号DEGREES:角度转换弧度 EXP (浮点表达式)返回指定表达式的指定值 随机函数RADIANS:弧度转换角度 LOG (浮点表达式)返回指定表达式的自然对数 RANDLOG10(浮点表达式)返回表达式以10为底的对数值 PI()函数SQRT (浮点表达式)返回指定表达式的平方根随机函数取近似值的函数 declare @test_var float \\声明变量,为浮点数 CELLING(数字表达式) 返回大于或等于表达式的最小整数(取整) set @test_var=RAID() \\为此变量赋值,该变量为一个浮点数(浮点数为0到1之间的任意浮点数) FLOOR (数字表达式) 返回小于或等于表达式的最大整数(取整) print @test_varROUND (数字表达式,整型表达式) 以整型的形式返回数字表达式的整型值(四舍五入)PI() 返回的是圆周率 declare @test_var folatset @test_var=PI() \\返回的是圆周率print @test_var declare @test_var float,@Test_Value float \\声明变量为浮点数 set @test_var=60 \\设置角的弧度为60 set @Test_value=RADIANS(@test_var) \\设置将弧度转换为角度 select '60弧度角转换为角度其值为:',@Test_var判断是否为正declare @test_var float,@test_var2 float \\声明变量为浮点数 set @test_var=-76.23352 \\为变量赋值 set @test_var2=SIGN(@test_var) \\通过SIGN函数来判断@test_ var变量是否为负数,来赋值给@test_var2。 if @test_var2=1 \\如果@test_var2为正数(1在SQL代表正数,-1代表负数,1和-1是判断条件) select '当前值为正直' else print '当前值为负值'字符串函数 是对二进制数据字符串和表达式执行不同的运算,此类函数作用于char、varchar、binary、 varbinary以及可以隐式转换char和varchar的数据类型。将字母转换为ASCII码 ASCII() 将ASCII码转换为对应的数值 declare @test_String1 char(60) set @test_String1='H' (!!!大写的CHAR()是ASCII码转换的) select 'H的ASCII码是:',ASCII('A') select 'H的ASCII码是:',ASCII('A')所有的字符串转换为大写 declare @test_String1 char(60),@test_String2 varchar(60) \\声明变量以及变量类型 将数值转换为字符 str() set @test_String1='Hello,world!' \\为变量1赋值 declare @test_String float,@test_String2 varchar(60) \\声明变量以及变量数据类型 set @test_String2=UPPER(@test_String1) \\为变量2赋值 set @test_String1=1000.23456 \\为变量1赋值 print @test_String2 \\打印变量2的值 set @test_String2='Hello,world!' \\为变量2赋值print @test_String2+str(@test_String1,20,2) \\输出变量2的值+变量1数据类型转换后的值, UPPER(小写转换大写) 字符长度最长为20为小数点后保留2位整数 LOWER(大写转换小写)测试字符串长度 declare @test_String1 float,@test_String2 varchar(60) \\声明变量以及变量数据类型 set @test_String2='Hello, word!' \\为变量2赋值 set @test_String1=LEN(@test_String2) \\利用LEN测试变量2字符串长度,并把该值赋值给变量1 select '字符串Helloword!长度为:',@test_String1 \\输出该程序去除表达式头部空格的函数 去除表达式尾部空格declare @test_String1 float,@test_String2 varchar(60)\\声明变量以及变量数据类型 declare @test_String float,@test_String2 varchar(60)\\声明变量以及变量数据类型 set @test_String2=' Hello, word!' \\为变量2赋值 set @test_String2='Hello,world! ' \\为变量2赋值 set @test_String1=LEN(ltrim (@test_String2)) \\利用LEN测试变量2字符串长度,并把该值赋值给变量1 set @test_String1=rtrim(@test_String2) \\利用LEN测试变量2字符串长度,并把该值赋值给变量1 select '字符串Helloword!长度为:',@test_String1 利用ltrim去除变量2中的空格,(在varchar中空格算字符串的长度) select '字符串Hello,world!长度为:',@test_String1 利用rtrim去除变量2中尾部的空格,(在varchar中空格算字符串的长度)取子串函数 SUBSTRING(截取指定字符串从哪个字符到哪个)LEFT函数(返回从字符串截取的指定个数的字符)declare @test_String1 varchar(60),@test_String2 varchar(60)\\声明变量以及变量数据类型 declare @test_String1 varchar(30),@test_String2 varchar(30)\\声明变量以及变量数据类型 set @test_String1=Hello, word!' \\为变量2赋值 set @test_String1='Hello, word!' \\为变量1赋值 set @test_String2=LEFT(@test_String1,5) \\利用LEFT截取变量1的字符串,截取长度为前五个字符。 set @test_String2=SUBSTRING(@test_String1,2,6) \\利用SUBSTRING截取变量1的字符串,截取长度为从第二个 select '截取后的字符串长度为:',@test_String1 select '输出结果为:'+@test_String2 到第六个字符。RIGHT(从右往左截取字符串)字符串操作函数REPLICATE 重复函数 REVERSE(将字符反转)declare @test_String varchar(10) \\声明变量 declare @test_String1 varchar(10),@test_String2 varchar(60) \\声明变量 set @test_String=REPLICATE('a',6) \\使用REPLICATE函数将a字母重复六次 set @test_String2='Hello,word' \\赋值 select @test_String \\变量输出 set @test_String1=REVERSE(@test_String) \\赋值并声明需要反转的变量select @test_string1 \\输出变量REPLACE(替换函数)declare @test_String1 varchar(20),@test_String2 varchar(10) \\声明变量 set @test_String1='Hello world!' \\1赋值 set @test_String2= REPLACE(@test_String1'l','a') \\2赋值,并把1中字符串中所有的L转换成A。 selcet @test_String2 \\输出SPACE函数 STUFF函数(替换函数)declare @test_String1 varchar(20),@test_String2 varchar(30) \\声明变量 declare @test_String1 varchar(20),@test_String2 varchar(30) \\声明变量 set @test_String1='Hello,world!' \\为变量1赋值 set @test_String1='Hello,world!' \\为变量1赋值 set @test_String2=@test_String1+space(5)+'空格后的内容' \\变量1后接space()函数(括号里的数字决定加多少个空格,) set @test_String2=STUFF(@test_String1,2,3,'替换后的内容') \\利用STUFF函数将变量1中字符串,从第二个字符开始截取 print @test_String2 \\输出变量2的值 并赋值给变量2。 print '输出结果为:'+@test_String2 截取三个字符并利用''中的内容为其替换数据类型转换函数(cast) !可转换任意数据类型 convert(数据类型转换函数) !可转换任意数据类型 declare @test_String1 int,@test_String2 varchar(30) \\声明变量 declare @test_var1 int \\声明变量 set @test_String1=3000 \\为变量赋值 set @test_var1=3000 \\为变量1赋值 print '变量@test_String1的值为:'+cast(@test_String1 as varchar(30)) \\将字符串类型变量转换为字符型变量 print 'Hello,world!'+convert(varchar(30),@test_var1)\\利用convert函数将变量1的数据类型转换日期时间函数 GETDATE() 获取年份函数 YEAR() declare @test_var varchar(100) \\声明变量 declare @test_var varchar(100) \\声明变量 set @test_var=GETDATE() \\为变量赋值时间函数 set @test_var=YEAR(GETDATE()) \\为变量赋值。YEAR()函数必须需要一个参数,此参数为GETDATE() print'当前日期时间为:'+@test_var\\输出当前的年份、日期和时间 print '当前年份为'+@test_var \\输出变量set @test_var=month(GETDATE()) \\获取月份值 set @test_var=(GETDATE()) \\获取当前日期select DATENAME(DW,GETDATE()) \\获取当前星期在SQLSERVER中char、varchar、nchar、nvarchar可存放字符型数据(字符串)DATEPARK 以整数的形式返回日期的指定部分DATENAME()函数\\以字符串的形式返回日期的指定部分 eclare @test_var1 int \\声明变量set @test_var1=DATEPART(HOUR,GETDATE())\\返回小时部分(通过GETDATE函数来获取所需要输出的小时部分) select DATENAME(HOUR,GETDATE()) \\从后面的日期时间里面返回当前的小时数 select'当前小时数为':+cast(@test_var1 as varchar(100))\\通过cast将变量1转换为字符串数据类型,MINUTE, \\分钟数 来与'当前小时数'来匹配输出(DATEADD)从原有日期时间增加多长时间declare @test_var1 datetime \\声明变量为日期型数据类型datetime,若当前日期为5月25号如果定义为int类型+10就会变成35号而非6月4号,这里应当注意!!! set @test_var1=DATEADD(DAY,10,GETDATE()) \\利用GETDATE函数来获取当前日期,并通过DATEADD函数来给当前日期增加10天,并赋值给变量1。 select'当前小时数为:'+cast(@test_var1 as varchar(100)) \\输出,并把变量1的datetime数据类型转换为字符串数据类型。DATEDIFF函数DATEDIFF(datepart.startpart.endpart)参数是给函数体内调用准备的,参数就好像调用参数时给函数下达的指令。利用T-SQL语句创建函数 Create Function 函数名(@parameter 变量类型[.@parameter 变量类型]) Returns 变量类型 as Begin 命令行和程序块 end\\!!!此函数名称为 test_functionA(),此函数的作用为在()括号里填写的任何值都乘以8 1到多个参数\\创建函数 \\函数名称 \\传递参数 \\返回值 create Function test_functionA (@test_var int) returns int\\定义函数创建函数名称,定义参数名称,定义返回值。asbegin\\从这开始是函数体declare @sum int \\声明变量sumset @sum=@test_var*8 \\为变量赋值,值为参数*8return @sum \\@sum只是返回值 endprint dbo.test_functionA(6000)用循环语句调用函数declare @test_var int \\声明变量并定义变量数值类型 set @test_var=0 \\并将其变量赋值,此变量为循环值(循环次数) while @test_var<=20 \\循环的条件是@test_var<=20 begin print dbo.test_functionA(@test_var) \\利用print输出函数的返回值 set @test_var=@test_var+1 \\赋值 end修改函数 alter function test_functionA(@test_var int) returns int \\alter function声明修改函数 as begin declare @sum int \\声明变量以及变量数据类型 set @sum=@test_var*20 \\为变量赋值 return @sum \\定义返回值 end\\这里的returns和return的区别在于;用户定义函数时,returns是定义该函数返回值的数据类型。return用于返回具体的值/值变量。
转载于:https://www.cnblogs.com/LNCC-ZhangXiang/p/10931874.html
SQL Server基础操作(此随笔仅作为本人学习进度记录七 !--函数)相关推荐
- SQL Server基础操作(此随笔仅作为本人学习进度记录七 !--存储过程)
存储过程存储过程分为系统存储过程和自定义存储过程存储过程通过将处理数据的程序从客户端应用程序移动到服务器,存储过程是放在服务器上的,通过客户端下达指令调用存储过程的时候,这个过程是在服务器上发生的,自 ...
- SQL Server基础操作(此随笔仅作为本人学习进度记录四 !--索引和视图)
约束.索引.视图.约束:(要求字段不能为空,必须填写内容,就是非空约束)not null(非空约束).unique(唯一性约束).primary key(主键约束).foreign(外键约束).che ...
- SQL Server基础操作(此随笔仅作为本人学习进度记录六 !--程序块和循环)
declare @test_Var int \\声明变量用declare,声明局部变量用@符号,变量的数据类型为整型int. (声明) set @test_Var=1000 \\为此变量赋值,赋值为1 ...
- SQL Server基础操作(此随笔仅作为本人学习进度记录五 !--数据类型)
二进制数据类型binary varbinary Uniqueidentifierbinarry(n):n用来表示数据的长度,长度为 1-8000,最低长度为1.varbinary:varbinary( ...
- SQL Server基础操作(此随笔仅作为本人学习进度记录九!--游标)
游标就是存储结果集,将从指定表中查询出符合条件的记录,组成了结果集,然后把它存到游标当中,如果要显示游标中的哪一条记录游标(游动的标识) !!!!非常重要的知识点,比较难理解!!!游标提供了对表中的数 ...
- SQL Server基础操作(此随笔仅作为本人学习进度记录二)
批量化更改字段中的数值(对教师进行涨工资)use LtsDatabase试验 update 教师表 set 教师编号=120,教师薪资=教师薪资+1000,教师姓名='于老师',教师职称='高级教师' ...
- SQL Server基础操作(此随笔仅作为本人学习进度记录十 !--触发器)
触发器(同游标一样比较难理解,特殊的存储过程)触发器是一种存储过程,只不过是一种特殊类型的存储过程,它的特殊性就在于根据某种特殊的情况下触发的,存储过程的执行需要手动调用,而触发器作为一个存储过程它的 ...
- SQL Server基础操作(此随笔仅作为本人学习进度记录三)
统计函数 select * from 教师资料 where 教师薪资>(select AVG(教师薪资) from 教师资料) \\从教师资料表中查出所有高于平均薪资的人员.use LtsDat ...
- SQL Server 基础操作(一)安装数据库
Windows server 2012 R2系统 安装SQL Server 2008数据库 1.创建虚拟机---安装Windwos server 2012 R2 操作系统 2.安装windows se ...
最新文章
- h5 右下角浮动按钮_【js】右下角浮动窗口
- 程序员面试【Brainteasers】
- SqlServer中除了sql和bak你还可以使用mdf文件来进行数据库的添加和分离
- python的格式_python 代码格式
- windows C++ 通过WMI获取底层信息
- c语言中time 0 返回值,clock()返回值为什么是0
- 《抓住听众心理——演讲者要知道的100件事》一2.听众需要上下文
- 【每日算法Day 63】LeetCode 第 179 场周赛题解
- Chrome历史版本查看
- 300篇原创文背后的故事
- ESPRIT 2019车铣复合编程基础到五轴 走心机 视频教程
- PowerShell的基本使用方法
- 局部变量与成员变量的·区别!
- H3C课程笔记(网上看视频记的)
- FT2232器件Bit Mode函数
- Netflix创始人:我不要求996,照样市值万亿!
- Codeforces 91A Newspaper Headline
- 【一头扎进JMS】(4)----RabbitMQ概述
- 从零学习知识图谱——04(常见知识库及知识图谱的知识表示方法 )
- 暑假清凉套餐小说+漫画
热门文章
- usb接上计算机没反应怎么办,u盘插上去电脑没反应怎么办 u盘插上后无任何反应的解决教程...
- 历史最全、最细、近一年最新 知识图谱相关经典论文分享
- phalapi可以依赖注入么_[7.8]-phalapi-进阶篇2(DI依赖注入和单例模式) | PhalApi(π框架) - PHP轻量级开源接口框架...
- 单片机四个按键做加减乘除功能
- 网络原理之TCP/UDP协议
- 音视频系列--H264编解码总结
- 北邮智能车仿真培训(三)—— 给车舞台让它驰骋
- java虚拟机参数 -D、-X和-XX的区别
- 小菜鸟的python学习之路(7)
- 怎么把英文文献转译为中文?