--1. 创建fn_Split函数. ( 切分字符串, 返回一个列名为id的表 )
if exists(select * from dbo.sysobjects where id = object_id('fn_Split') and (type = 'FN' or type = 'TF' or type='IF'))
DROP FUNCTION fn_Split
GO
CREATE FUNCTION [dbo].[fn_Split]
(
@str VARCHAR(MAX),
@separator VARCHAR(10)
)
RETURNS TABLE
AS
RETURN
( --Example: SELECT id FROM fn_Split('a,b,d,c',',')
SELECT B.id
FROM (
SELECT [value] = CONVERT(XML, '<v>' + REPLACE(@str, @separator, '</v><v>') + '</v>')
) A
OUTER APPLY(
SELECT id = N.v.value('.', 'varchar(100)')
FROM A.[value].nodes('/v') N(v)
) B
)
GO
SQL——自定义的fn_Split函数
最新推荐文章于 2024-08-24 21:29:17 发布
本文介绍如何在SQL环境中使用自定义函数`fn_Split`来实现字符串的切分操作,通过将字符串按照指定分隔符进行拆分,并返回包含每个切分项的表。此功能适用于数据库查询和数据处理场景。
1066

被折叠的 条评论
为什么被折叠?



