sql server split函数

----------------------------------------------------------------------

-- 版权:2011

-- 时间:2011-06-17

-- 用途:切分字符串,将忽略连续分隔符和分隔符之间的空字符

-- 用法:SELECT * FROM [dbo].[WF_Split](‘a,b,c,d‘,‘,‘);

--    返回表结构:

--    id    自增主键

--    rs    分隔符切分的每个段落

----------------------------------------------------------------------

USE QPTreasureDB

GO

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N‘[dbo].[WF_Split]‘) AND type in (N‘FN‘, N‘IF‘, N‘TF‘, N‘FS‘, N‘FT‘))

DROP FUNCTION dbo.[WF_Split]

GO

----------------------------------------------------------------

CREATE FUNCTION [dbo].[WF_Split]

(

@strSource NVARCHAR(4000),  --要操作的字符串

@strSeparator CHAR(1)     --分隔符,单字节

)

RETURNS @tbResult TABLE(id INT IDENTITY(1,1),rs NVARCHAR(1000))

WITH ENCRYPTION AS

BEGIN

DECLARE @dwIndex INT ,@strResult NVARCHAR(1000);

SET @strSource = RTRIM(LTRIM(@strSource)); -- 消空格

SET @dwIndex = CHARINDEX(@strSeparator,@strSource);  -- 取得第一个分隔符的位置

WHILE @dwIndex>0

BEGIN

SET @strResult = LTRIM(RTRIM(LEFT(@strSource,@dwIndex-1)));

IF @strResult IS NULL OR @strResult = ‘‘ OR @strResult = @strSeparator

BEGIN

SET @strSeparator = SUBSTRING(@strSource,@dwIndex+1,LEN(@strSource)[email protected]); --将要操作的字符串去除已切分部分

SET @dwIndex = CHARINDEX(@strSeparator,@strSource); --循环量增加

CONTINUE;

END

INSERT @tbResult VALUES(@strResult);

SET @strSource = SUBSTRING(@strSource,@dwIndex+1,LEN(@strSource)[email protected]); --将要操作的字符串去除已切分部分

SET @dwIndex=CHARINDEX(@strSeparator,@strSource); --循环量增加

END

--处理最后一节

IF @strSource IS NOT NULL AND LTRIM(RTRIM(@strSource)) <> ‘‘ AND @strSource <> @strSeparator

BEGIN

INSERT @tbResult VALUES(@strSource)

END

RETURN;

END

时间: 2024-10-09 15:09:01

sql server split函数的相关文章

SQL Server 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',',') ALTER FUNCTION [dbo].[F_SQLS

SQL Server DATEDIFF() 函数

Server Date 函数 定义和用法 DATEDIFF() 函数返回两个日期之间的天数. 语法DATEDIFF(datepart,startdate,enddate) startdate 和 enddate 参数是合法的日期表达式. datepart 参数可以是下列的值: datepart 缩写 年 yy, yyyy 季度 qq, q 月 mm, m 年中的日 dy, y 日 dd, d 周 wk, ww 星期 dw, w 小时 hh 分钟 mi, n 秒 ss, s 毫秒 ms 微妙 mc

SQL Server 聚合函数算法优化技巧

Sql server聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期.Sql server聚合函数对一组值执行计算并返回单一的值.聚合函数对一组值执行计算,并返回单个值.除了 COUNT 以外,聚合函数都会忽略空值. 聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用. v1.写在前面 如果有对Sql server聚合函数不熟或者忘记了的可以看我之前的一片博客.sql server 基

13、SQL Server 自定义函数

SQL Server 自定义函数 在SQL Server中不仅可以使用系统函数(如:聚合函数,字符串函数,时间日期函数等)还可以根据需要自定义函数. 自定义函数分为标量值函数和表值函数. 其中,标量值函数用于返回单个值,而表值函数用于返回一个结果集. 函数参数 参数可以是常量.表中的某个列.表达式或其他类型的值.在函数中有三种类型的参数. 1.输入:指必须输入一个值. 2.可选值:在执行该参数时,可以选择不输入参数. 3.默认值:函数中默认有值存在,调用时可以不指定该值. 创建标量值函数 语法:

SQL Server 2000 函数使用---CAST 和 CONVERT

本文来自:http://www.cnblogs.com/xh831213/category/47654.html 将某种数据类型的表达式显式转换为另一种数据类型.CAST 和 CONVERT 提供相似的功能. 语法 使用 CAST: CAST ( expression AS data_type ) 使用 CONVERT: CONVERT (data_type[(length)], expression [, style]) 参数 expression 是任何有效的 Microsoft® SQL

Sql Server DateDiff 函数中interval的值

今天在工作中碰到了个问题,统计本周流量时,使用DateDiff函数由于w与week混淆产生统计结果出现错误 参数 interval的设定值如下: 值 缩 写(Sql Server) 说明 Year Yy 年 1753 ~ 9999 Quarter Qq 季 1 ~ 4 Month Mm或m 月1 ~ 12 Day of year Dy或d 一年的日数,一年中的第几日 1-366 Day Dd 日,1-31 Weekday Dw或w 一周的日数,一周中的第几日 1-7 Week Wk 周,一年中的

SQL SERVER 开窗函数简介

在SQL SERVER 2005/2008支持两种排名开窗函数和聚集开窗函数. 以SQL SERVER中分面页为例,按时间顺序列出定单号. WITH OrderInfo AS ( SELECT ROW_NUMBER() OVER(ORDER BY OrderDate) AS Number, OrderID,CustomerID, EmployeeID,OrderDate FROM Orders (NOLOCK) ) SELECT Number,OrderID,CustomerID, Employ

四个很好用的Sql Server 日期函数:DateDiff、DatePart、DateAdd、DateName

我以前查一段时间范围内的数据都是在程序里计算好日期再掉查询语句,现在我用下面的函数.SQL SERVER没有查一季度数据的函数. DateDiff函数: 描述 返回两个日期之间的时间间隔. 语法 DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]]) DateDiff 函数的语法有以下参数: 参数 描述 interval 必选.字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔.有关数值,请参

数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数

SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函数的基本类型是: Aggregate 函数 Scalar 函数 合计函数(Aggregate functions) Aggregate 函数的操作面向一系列的值,并返回一个单一的值. 注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使