SQL Server Split函数
时 间:2017-07-07 08:14:56
作 者:缪炜 ID:24010 城市:江阴
摘 要:在SQL中使用时发现没有Split函数,所以找了好用的一个分享给大家
正 文:
--SQL Server Split函数
--说明:
--支持分割符多字节
--使用方法
--Select * FROM DBO.F_SQLSERVER_SPLIT('1203401230105045','0')
--select * from DBO.F_SQLSERVER_SPLIT('abc1234a12348991234','1234')
--Select * from DBO.F_SQLSERVER_SPLIT('ABC',',')
Create FUNCTION F_SQLSERVER_SPLIT(@Long_str NVARCHAR(MAX),@split_str NVARCHAR(100))
RETURNS @tmp TABLE(
ID inT IDENTITY PRIMARY KEY,
short_str NVARCHAR(MAX)
)
AS
BEGIN
DECLARE @short_str NVARCHAR(MAX),@split_str_length int,@split_str_Position_Begin int
SET @split_str_length = LEN(@split_str)
SET @Long_str=REPLACE(REPLACE(@Long_str,CHAR(10),''),CHAR(13),'')
IF CHARINDEX(@split_str,@Long_str)=1
SET @Long_str=STUFF(@Long_str,1,@split_str_length,'')
IF CHARINDEX(@split_str,@Long_str)=0
Insert INTO @tmp Select @Long_str
ELSE
BEGIN
WHILE 1>0
BEGIN
SET @split_str_Position_Begin = CHARINDEX(@split_str,@Long_str)
SET @short_str=LEFT(@Long_str,@split_str_Position_Begin-1)
IF @short_str<>'' Insert INTO @tmp Select @short_str
SET @Long_str=STUFF(@Long_str,1,@split_str_Position_Begin+@split_str_length-1,'')
SET @split_str_Position_Begin = CHARINDEX(@split_str,@Long_str)
IF @split_str_Position_Begin=0
BEGIN
IF LTRIM(@Long_str)<>''
Insert INTO @tmp Select @Long_str
BREAK
END
END
END
RETURN
END
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 用Access连续窗体制作的树...(11.03)
- 【Access高效办公】上一年...(10.30)
- Access制作的RGB转CM...(09.22)
- Access制作的RGB调色板...(09.15)
- Access制作的快速车牌输入...(09.13)
- 【Access高效办公】统计当...(06.30)
- 【Access高效办公】用复选...(06.24)
- 根据变化的日期来自动编号的示例...(06.20)
- 【Access高效办公】按日期...(06.12)
学习心得
最新文章
- Microsoft Access不...(11.07)
- 用Access连续窗体制作的树菜单...(11.03)
- 【Access高效办公】上一年度累...(10.30)
- Access做的一个《中华经典论语...(10.25)
- Access快速开发平台--加载事...(10.20)
- 【Access有效性规则示例】两种...(10.10)
- EXCEL表格扫描枪数据录入智能处...(10.09)
- Access快速开发平台--多行文...(09.28)
- 关于从Excel导入长文本数据到A...(09.24)
- Access制作的RGB转CMYK...(09.22)


.gif)
