mssql sqlserver 下文分享一种新颖的字符串截取方法

原文地址:http://www.maomao365.com/?p=7307

摘要:

以前分割字符串时,都使用类似split函数的方式处理,下文分享一种对有规律的字符串的分隔方式,

即:1.使用replace函数,将字符串变成合规的xml格式串

2.使用xml.value的方式获取指定的字符串信息

如下所示:

实验环境:sqlserver 2008 R2

--例:
-----获取下面字符串中中括号中的内容
-----我们可以将下列规则的字符串采用replace替换为XML格式的字符串,然后采用xml select获取相关信息
DECLARE @stringInfo   VARCHAR(MAX) =‘1:[猫猫小屋],2:[字符串分割],3:[sql教程博客]‘
      , @q VARCHAR(3)   =3;  ---获取第三个分割符中的信息

declare @xmlInfo xml ;

set @stringInfo = ‘<xmlInfo keyId ="‘+@stringInfo;
set @stringInfo = REPLACE(@stringInfo, ‘[‘, ‘" value="‘);
set @stringInfo = REPLACE(@stringInfo, ‘],‘, ‘" /><xmlInfo keyId ="‘);
set @stringInfo = REPLACE(@stringInfo, ‘]‘, ‘" />‘);
set @stringInfo = REPLACE(@stringInfo, ‘:‘, ‘‘);

set @xmlInfo = CONVERT(xml,@stringInfo); 

SELECT @xmlInfo as [xmlInfo],
@xmlInfo.value(‘(/xmlInfo[@keyId=sql:variable("@q")]/@value)[1]‘,
 ‘varchar(60)‘);

原文地址:https://www.cnblogs.com/lairui1232000/p/9534953.html

时间: 2024-11-03 16:23:31

mssql sqlserver 下文分享一种新颖的字符串截取方法的相关文章

分享一种全新的截屏方法

一种全新的截屏方法 在任何时候点击手机上的浮动小球(红色圈内)就能完成整个屏幕信息的截取功能,而且最终保存的图像还不会包含该小球,这就是本文将要介绍的方法.手机整体屏幕获取项目下载链接:http://files.cnblogs.com/files/tgyf/CaptureScreen.rar. 以全新的视角实现手机屏幕的截取(快照)功能,文章可能比较长,感兴趣的朋友一定得看完,会有收获的哦!若发现有哪些地方存在问题或某些功能有更好的实现方式,欢迎指点,先谢过(我可以尽快改正或完善,以免继续误导别

shell脚本中8种字符串截取方法_转自脚本之家

转自:http://www.jb51.net/article/56563.htm Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm 2. ## 号截取,删除左边字符,保留右边字符

Shell脚本8种字符串截取方法总结

Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm 2. ## 号截取,删除左边字符,保留右边字符. echo ${var##*/} ##*/ 表示从左边开始删除最后(最右边)一个

【分享】bat中处理字符串的方法

C语言中有各种处理字符串的函数,BAT中没有C语言那么强大,所以只能结合SET语句,做一些简单的字符串处理 首先看SET 命令的格式如下: 环境变量替换已如下增强:.     %PATH:str1=str2% 会扩展PATH 环境变量,用"str2" 代替扩展结果中的每个"str1". 要有效地从扩展结果中删除所有的"str1","str2" 可以是空的. "str1" 可以以星号打头:在这种情况下,&qu

几种常见的字符串连接方法连接速度分析

在平时的开发中难免会遇到字符串拼接的情况.比较常用的方法有:StringBuilder,+运算符,string.Format和string.Concat. 在.NET程序员中一直流传着一个传说:StringBuilder的性能可以吊打+运算符.不知道大家有没有亲自测试过这个传说,反正我以前没有没测试过. 通过查看源代码可以发现string.Format是通过调用StringBuilder中的方法来实现字符串拼接的.而且相对来说string.Format对字符串的格式很友好.所以在平时的开发中我最

ios 下两种生成唯一字符串的方法

CFUUIDRef uuidRef =CFUUIDCreate(NULL); CFStringRef uuidStringRef =CFUUIDCreateString(NULL, uuidRef); CFRelease(uuidRef); NSString *uniqueId = (__bridgeNSString *)uuidStringRef;

shell 8种字符串截取方法

假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. 1 echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm 2. ## 号截取,删除左边字符,保留右边字符. 1 echo ${var##*/} ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符即删除 htt

mssql sqlserver 将字段null(空值)值替换为指定值的三种方法分享

转自:http://www.maomao365.com/?p=6965   摘要: 下文将分享两种将字段中null值替换为指定值的方法分享,如下所示: 实验环境:sqlserver 2008 R2 例: create table test(keyId int identity, info varchar(30)) go insert into test(info)values('a'),('b'),(null),('d') go ---方法1:使用isnull替换 select keyId,is

mssql sqlserver避免sql脚本中出现除零错误的方法分享

摘自:http://www.maomao365.com/?p=6612 摘要:下文介绍sql server中,sql脚本避免出现除零错误的方法分享 在各种业务系统开发中,通常会遇到除零的错误,下文分享了两种处理方法:方法1: case when end declare @a int ---分子 declare @b int ---分母 select case when @b=0 then NULL else @a/@b end as [a除以b] 方法2:nullifnullif(表达式A,表达