access 删除字符串中的字符_SQL Server中的字符串分割函数
您是否知道从SQL Server 2016开始,系统就内置STRING_SPLIT函数,该函数用于将字符串分隔的变量拆分为一个可用列表。 对于经常需要分割字符串的技术人员,建议您查看此功能。 STRING_SPLIT是一个表值函数,它返回由定界符分隔的字符串值的单个列。 这是T-SQL的不寻常之处,其使用要求兼容级别为130或更高(Microsoft不想引起对现有用户代码的重大更改)。 使用此方法效率更高,并且可以在不调用标量函数的情况下执行。
SQL Server系统内置分割函数
语法
STRING_SPLIT(字符串、分隔符)
如何使用它呢?
SELECT value AS 'Flavor' FROM STRING_SPLIT('Chocolate,Vanilla,Strawberry', ',');
返回结果
执行计划是这样子的,它非常直接和简单。
自定义函数
这是在某些环境中可以找到的本地版本,您可以看到它的效率低得多。
****** Object: UserDefinedFunction [dbo].[fnSplit] Script Date: 7/11/2020 10:26:45 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER FUNCTION [dbo].[fnSplit]( @sInputList VARCHAR(8000) -- List of delimited items , @sDelimiter VARCHAR(8000) = ',' -- delimiter that separates items ) RETURNS @List TABLE (item VARCHAR(8000)) BEGIN DECLARE @sItem VARCHAR(8000) WHILE CHARINDEX(@sDelimiter,@sInputList,0) <> 0 BEGIN SELECT @sItem=RTRIM(LTRIM(SUBSTRING(@sInputList,1,CHARINDEX(@sDelimiter,@sInputList,0)-1))), @sInputList=RTRIM(LTRIM(SUBSTRING(@sInputList,CHARINDEX(@sDelimiter,@sInputList,0)+LEN(@sDelimiter),LEN(@sInputList)))) IF LEN(@sItem) > 0 INSERT INTO @List SELECT @sItem END IF LEN(@sInputList) > 0 INSERT INTO @List SELECT @sInputList -- Put the last item in RETURN END
结果
结果是一样的。但是请注意,您的字段名每次都是相同的,有了这个新函数,您在这方面获得了更多的灵活性。
执行计划
它比我们上面看到的包含序列的直接表达式要复杂一些。
有许多不同的方法可以编写这样一个分割函数,但是既然SQL Server已经提供了一个,我强烈建议您看看它。
access 删除字符串中的字符_SQL Server中的字符串分割函数相关推荐
- amp sqlserver中 什么意思_sql server中创建表时各个数据类型时什么意思??
(1)整数型 整数包括bigint.int.smallint和tinyint,从标识符的含义就可以看出,它们的表示数范围逐渐缩小. lbigint:大整数,数范围为-263(-922337203685 ...
- java练习: 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
import java.util.ArrayList; import java.util.Scanner;/*** 7. 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:* 原始字 ...
- 第3周 区_SQL Server中管理空间的基本单位
第3周 区_SQL Server中管理空间的基本单位 原文:第3周 区_SQL Server中管理空间的基本单位 哇哦,SQL Server性能调优培训已经进入第3周了!同时你已经对SQL Serve ...
- sql判断基数_SQL Server中的基数估计框架版本控制
sql判断基数 This is a small post about how you may control the cardinality estimator version and determi ...
- sql server 主键_SQL Server中人口过多的主键和CE模型的变化
sql server 主键 In this blog post, we are going to talk about another cardinality estimation model enh ...
- sql server 密钥_SQL Server中的升序密钥和CE模型变化
sql server 密钥 In this note, I'm going to discuss one of the most useful and helpful cardinality esti ...
- sql语句截断_SQL Server中SQL截断和SQL删除语句之间的区别
sql语句截断 We get the requirement to remove the data from the relational SQL table. We can use both SQL ...
- 中统计字符串长度的函数_SQL Server中的字符串分割函数
您是否知道从SQL Server 2016开始,系统就内置STRING_SPLIT函数,该函数用于将字符串分隔的变量拆分为一个可用列表. 对于经常需要分割字符串的技术人员,建议您查看此功能. STRI ...
- sql limit 子句_SQL Server中的FOR XML PATH子句
sql limit 子句 As SQL professionals, we often have to deal with XML data in our databases. This articl ...
最新文章
- IsWow64的真实用途
- win7系统一直反复重启_iPhone7开机白苹果反复重启进不了系统维修过程
- 路径分析开源工程OpenTripPlaner 概述
- 简单python脚本实例-简单了解python调用其他脚本方法实例
- MFC中的问题记录 2012-2-20
- 安卓蓝牙键盘按键映射_安卓手游键盘映射工具(凤凰系统键盘映射) v2.0 最新版...
- Micrium代码规范——命名规则
- 8. 求 s=a+aa+aaa+aaaa+aa…a 的值
- 如何用java模拟饭店点菜,【模拟饭店2怎么玩】餐厅攻略大全
- IT行业什么岗位最吃香
- java编写时间流逝_如何测量Java中的时间流逝?
- OC-NSString
- word里面空白页怎么删除
- 【图像增强】Learning Enriched Features for Real Image Restoration and Enhancement 阅读笔记
- 折弯公差尺寸及工艺要求
- E-Training在线学习系统(汉堡王定制版)
- 【控制】自适应控制,模型参考自适应控制,公式推导,有程序有结果图
- 5G NR UE 状态转换
- replace()和replaceAll()的使用
- 传感器和算法如何让机器人实现避障?
热门文章
- Loadrunner脚本编程(4)-数据类型操作和字符串操作
- nagios安装文档
- 102.如何减轻缓存失效时上游服务的压力
- python 下载图片到内存卡_python-23:将图片下载到本地
- python抽取指定url页面的title_Python新手写爬虫全过程记录分析
- java反射 获取属性_Java反射学习-3 - 反射获取属性,方法,构造器
- CString、string、char*的综合比较
- Halcon 学习总结——仿射变换
- java实验的总结_Java实验总结——初学(上)
- ndnsim r语言 ubuntu_Python语言---数据库