博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用XQuery的nodes()方法实现字符拆分
阅读量:5259 次
发布时间:2019-06-14

本文共 978 字,大约阅读时间需要 3 分钟。

比如一串字符以某定义符号分隔,现我们需要以定义符号对这串字符进行拆分。可以使用XQuery的nodes()方法来实现。实现可参考到这篇: 。不过Insus.NET把实现的方法写成一个自定义函数,在需要的地方调用即可。

ExpandedBlockStart.gif
udf_StringSplit
SET ANSI_NULLS 
ON
GO
SET QUOTED_IDENTIFIER 
ON
GO
--
 =============================================
--
 Author:        Insus.NET
--
 Create date: 2012-02-26 00:15:00
--
 Description:    Split the string from the delimiter
--
 =============================================
CREATE 
FUNCTION 
[
dbo
].
[
udf_SplitString
]
(
    
@Value 
NVARCHAR(
MAX),
    
@Delimiter 
CHAR(
1)
RETURNS 
@SplitResult 
TABLE (
[
ID
] 
INT 
IDENTITY(
1,
1),
[
WORD
] 
NVARCHAR(
MAX))
AS
BEGIN
    
DECLARE 
@xml XML 
= 
CAST(
'
<insus>
' 
+ 
REPLACE(
@Value,
@Delimiter,
'
</insus><insus>
'
+ 
'
</insus>
' 
AS XML)
    
INSERT 
INTO 
@SplitResult(
[
WORD
]
SELECT n.value(
'
.
',
'
NVARCHAR(50)
'
AS w
    
FROM 
@xml.nodes(
'
/insus
'
AS E(n)
  
RETURN
END

 

应用自定义函数:

SELECT 
[
ID
],
[
WORD
] 
FROM 
[
dbo
].
[
udf_SplitString
](
'
ad;gdf;gdf;gdf;dfsdf
',
'
;
')

 

执行结果:

 

转载于:https://www.cnblogs.com/insus/archive/2012/02/26/2368283.html

你可能感兴趣的文章
Problem B: 占点游戏
查看>>
python常用模块之sys, os, random
查看>>
HDU 2548 A strange lift
查看>>
Linux服务器在外地,如何用eclipse连接hdfs
查看>>
react双组件传值和传参
查看>>
[Kaggle] Sentiment Analysis on Movie Reviews
查看>>
价值观
查看>>
mongodb命令----批量更改文档字段名
查看>>
使用&nbsp;SharedPreferences 分类: Andro...
查看>>
TLA+(待续...)
查看>>
题解: [GXOI/GZOI2019]与或和
查看>>
MacOS copy图标shell脚本
查看>>
国外常见互联网盈利创新模式
查看>>
Oracle-05
查看>>
linux grep 搜索查找
查看>>
Not enough free disk space on disk '/boot'(转载)
查看>>
android 签名
查看>>
vue项目中使用百度统计
查看>>
android:scaleType属性
查看>>
SuperEPC
查看>>