SQL Server分隔函数实例详解_MsSql

来源:脚本之家  责任编辑:小易  

-定义:CREATE FUNCTION uf_ab int)RETURNS varchar(64)ASbegindeclare@s varchar(128)select@s=''if(@b=1)select@s='b为1'if(@b=2)beginselect@s='b为2'endreturn@send使用:select dbo.uf_a(2)运行结果:b为2www.zgxue.com防采集请勿采集本网。

有时候我们在SQL Server中需要对一些字符串进行分隔,比如a,b,c ,按照‘,'进行分割,可以使用下边这个函数方法,新建方法如下: 

SQL Server中的聚合函数有: 1.count()所有记录数 2.count(*)所有非null记录数 3.avg()某一列平均值 4.min()某一列最小值 5.max()某一列最大值 6.sum()某一列总和 使用方法: 1.SELECT COUNT

CREATE FUNCTION dbo.f_splitstr(@SourceSql NVARCHAR(MAX),@StrSeprate VARCHAR(100)) RETURNS @temp TABLE(F1 VARCHAR(100)) AS BEGIN DECLARE @ch AS VARCHAR(100) SET @SourceSql=@SourceSql+@StrSeprate WHILE(@SourceSql<>'') BEGIN SET @ch=LEFT(@SourceSql,CHARINDEX(@StrSeprate,@SourceSql,1)-1) INSERT @temp VALUES(@ch) SET @SourceSql=STUFF(@SourceSql,1,CHARINDEX(@StrSeprate,@SourceSql,1),'') END RETURN ENDGO

有的。CHARINDEX 返回字符串中指定表达式的起始位置。语法 CHARINDEX(expression1,expression2[,start_location]) 参数 expression1 一个表达式,其中包含要寻找的字符的次序。expression1 是

       使用方法:

你说的是选出含有任意一个选中的字段的值,那只要字段1的内容不是空或者null就行了啊。如果是待条件查询的话,只要加上你的条件就好了啊. declare@a char(10) set@a='a'-任意你想要的查询的值

SELECT * FROM dbo.f_splitstr('a,b,c',',')

自定义函数分为:标量值函数或表值函数 如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数。可以使用多条 Transact-SQL 语句定义标量值函数。如果 RETURNS 子句指定 TABLE,则函数为表

     结果:

declare@a as decimal(18,2) declare@b as decimal(18,2) set@a=1.23 set@b=3.45 select case@b when 0 then case@a when 0 then '100%' else '无穷大' end else ltrim(str(@a/b*100,10,2))+'%' end

       这样我们就实现了对字符串的分割处理,当然函数具体内容可以根据我们的需求进行修改。

       再和大家多介绍一个,在SQL Server 2016以后,微软官方加入了一个STRING_SPLIT,也是实现分割函数的,如果你的数据库版本够高,可以选择使用官方的,方法一样:

SELECT * FROM STRING_SPLIT('a,b,c',',')

       结果:

总结

到此这篇关于SQL Server分隔函数的文章就介绍到这了,更多相关SQL Server分隔函数内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

min函数使用方法1、以tb_Teachers_info表为例:tb_Teachers_info2、如果要得到教师的最小年龄select Min(TeachersAge)'Min age' from tb_Teachers_info;结果:3、如果想得到表中教师的最大年龄select MAX(TeachersAge)'Max age' from tb_Teachers_info;结果:内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • sql server中字符串逗号分隔函数分享
  • sqlserver简单创建dblink操作远程服务器数据库的方法
  • python版mssql爆破小脚本
  • mssql报错:参数数据类型 text 对于 replace 函数的参数 1 无效的
  • sql server 查询正在实行的sql语句
  • sql2000与sql2005共存安装的解决方法
  • mssql段落还原脚本,sqlserver段落脚本
  • sql server全文检索查询浅析
  • sql时间格式化输出、convert函数应用示例
  • sqlserver 脚本和批处理指令小结
  • sql附加数据库失败问题的解决方法
  • sql server 中min函数怎么使用
  • SQL Server中的表之间的函数怎么用
  • sql server 中如何查看自定义函数的源代码?
  • SQL server非分隔标识符的规则
  • SQL Server中的聚合函数有哪些?
  • SQL Server 中有包含函数吗
  • 在sql server数据库中查询一个用逗号分隔的字段的问题
  • SQL Server中,自定义函数有哪三种?
  • sql server,要表达一个意思,用什么函数可以实现
  • SQL Server中left函数是什么意思?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页mssqlsql server中字符串逗号分隔函数分享sqlserver简单创建dblink操作远程服务器数据库的方法python版mssql爆破小脚本mssql报错:参数数据类型 text 对于 replace 函数的参数 1 无效的sql server 查询正在实行的sql语句sql2000与sql2005共存安装的解决方法mssql段落还原脚本,sqlserver段落脚本sql server全文检索查询浅析sql时间格式化输出、convert函数应用示例sqlserver 脚本和批处理指令小结sql附加数据库失败问题的解决方法sql server 2012 安装图解教程(附sql server数据库入门学习总结microsoft sql server 2012 数据sql重复记录查询的几种方法win7系统安装sqlserver2000的详细sqlserver中distinct的用法(不重sql server错误代码大全及解释(sql-order by 多字段排序(升序、sql将一个表中的数据插入到另一个用sql语句添加删除修改字段、一些浅析sql数据操作语句sqlserver查询某个时间段购买过商品的所有sql server的 update from 语句的深究sqlserver 数据库 三大 范式解决sql server的“此数据库没有有效所有通过系统数据库获取用户所有数据库中的视sql语句实现删除access重复记录的两种方法将表数据生成insert脚本 比较好用的生成插sql server数据类型char、nchar、varcharsql2000与sql2005共存安装的解决方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved