SQL 分隔字符串

ALTER FUNCTION dbo.fn_Split
(
    @Expression    VARCHAR(8000),
    @Delimiter    VARCHAR(10)
)
RETURNS @table_Value    TABLE
(
    SortNo    INT IDENTITY(1,1) NOT NULL,
    Value    VARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT ‘‘
)
AS

BEGIN
    --============ DECLARE LOCAL VARIABLE TO USE  ===============================
    DECLARE @intEndpos    BIGINT
    DECLARE @strTemp        VARCHAR(100)
    --============ INITIALIZE  THE VALUE OF VARIABLE ==============================
    SET @intEndpos = 0
    SET @strTemp = ‘‘

    --============= CHECK INPUT DATA VALIDATE ==========================
    IF LEN( LTRIM(RTRIM(@Expression ) ) ) = 0
    BEGIN
        RETURN
    END
    IF LEN(@Delimiter) = 0
    BEGIN
        RETURN
    END

    --============= Split and INSERT ========================================
    IF RIGHT ( @Expression, 1) = @Delimiter
        SET @Expression = LEFT ( @Expression , LEN (@Expression) -1 )

    WHILE LEN(@Expression) > 0
    BEGIN
        SET @intEndpos = CHARINDEX(@Delimiter,@Expression,1)
        IF @intEndpos > 0
        BEGIN
            SET @strTemp = SUBSTRING(@Expression , 1 , @intEndpos -1)
            INSERT INTO @table_Value(Value) VALUES (@strTemp)
            SET @Expression = SUBSTRING ( @Expression , @intEndpos + 1, LEN (@Expression) - @intEndpos)
        END
        ELSE
        BEGIN
            INSERT INTO @table_Value(Value) VALUES (@Expression)
            SET @Expression = ‘‘
        END
    END

    RETURN
END
时间: 2024-11-05 10:26:52

SQL 分隔字符串的相关文章

SQL分隔字符串

创建函数: CREATE FUNCTION[dbo].[split](@str NVARCHAR(max),@spliter NVARCHAR(10)) --@str:目标字符串 --@spliter:分隔符 RETURNS @tb TABLE(ch NVARCHAR(max)) AS BEGIN DECLARE @Num INT,@Pos INT, @NextPos INT SET @Num = 0 SET @Pos = 1 WHILE(@Pos <= LEN(@str)) BEGIN SEL

sql 分隔字符串函数

USE [tms]GO/****** Object: UserDefinedFunction [dbo].[fn_ConvertListToTable_Sort] Script Date: 2017/4/26 9:04:51 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER FUNCTION [dbo].[fn_ConvertListToTable_Sort]( @String NVARCHAR(max), --要转换的字符串.

sql server 获取分隔字符串后的长度

--方法1 --sql 分隔字符串,返回个数 CREATE function f_splitLen_1 (   @str varchar(1024),  --要分割的字符串   @split varchar(10)  --分隔符号 ) returns int as begin   declare @location int   declare @start int   declare @length int   set @str=ltrim(rtrim(@str))   set @locatio

SQL自定义函数split分隔字符串

SQL自定义函数split分隔字符串 一.F_Split:分割字符串拆分为数据表 Create FUNCTION [dbo].[F_Split] ( @SplitString nvarchar(max), --源字符串 @Separator nvarchar(10)=' ' --分隔符号,默认为空格 ) RETURNS @SplitStringsTable TABLE --输出的数据表 ( [id] int identity(1,1), [value] nvarchar(max) ) AS BE

C#分隔字符串时遭遇空值

在C#中分隔字符串时,按特定字符进行分隔的时候可能会遇到空值,如何我现在传入的是Id的字符串,如:"1501,1502,1503,,1505",以逗号分隔,由于各种原因,导致传入的字符串中有连续的逗号,如果我要利用这一串字符串得到ID数组作为Sql查询的条件,那么我就必须对这种情况进行处理. 实例: //数组转换成字符串,字符串切割成数组.string[] array = new[] {"1m2", "", "ww", &qu

sql sever 字符串函数

SQL Server之字符串函数 以下所有例子均Studnet表为例:  计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() 用来将一个字符串转换为小写,upper() 用来将一个字符串转换为大写 select lower('I AM A STUDENT !')select upper('i am a student !') 截去字符串左.右侧空格                      

SQLSERVER 根据传入的参数拼接sql语句字符串,反馈结果集

ALTER PROCEDURE [dbo].[usp_visit_detail](@siteid BIGINT, @Startime VARCHAR(15), @Endtime  VARCHAR(15), @Aflag  INT = 10,                                    --初始值为10,非10,则表示有传入参数 @Area   VARCHAR(20) = 'N',               -- --初始值为N,非N,则表示有传入参数 @Nflag  

iOS NSString 字符串处理:截取字符串、匹配字符串、分隔字符串

用到老是要去找,还是记下来方便!!! 1.截取字符串 NSString*string [email protected]"tate_zwt";string = [string substringToIndex:3];//截取下标7之后的字符串WTLog(@"截取的值为:%@",string); 2.匹配字符串NSString*string [email protected]"tate_zwt";NSRangerange = [stringrang

[开发笔记]-分隔字符串

一:javascript中实现分隔显示字符串 keyup(function () { this.value = this.value.replace(/[^\w{8}\d{8}]/g, "").replace(/(\w{4})(?=\w)/g, "$1 "); }); 效果: 二:C#中实现分隔字符串 static void Main(string[] args) { //int count = 13; //int spt = 4; //var xx = Math.