一个分割字符串的函数

一个分割字符串的自定义函数,主要是了解思路,留着以后备用。

--========================================
--Desc:<字符串的分割>
--Blog:<奔跑的金鱼>
--Date:<2016-01-07>
--========================================
CREATE FUNCTION dbo.f_splitstr
(
   @str varchar(8000)
)
RETURNS @r TABLE(id int IDENTITY(1, 1), value varchar(5000))
AS
BEGIN
 /* 函数体 */
    DECLARE @pos int
    SET @pos = CHARINDEX(‘,‘, @str)
    WHILE @pos > 0
    BEGIN
        INSERT @r(value) VALUES(LEFT(@str, @pos - 1))
        SELECT
            @str = STUFF(@str, 1, @pos, ‘‘),
            @pos = CHARINDEX(‘,‘, @str)
    END
    IF @str > ‘‘
        INSERT @r(value) VALUES(@str)
    RETURN

END
-----------调用函数
select * FROM [test].[dbo].[f_splitstr](‘A,B,C‘)
时间: 2024-08-25 00:24:09

一个分割字符串的函数的相关文章

分割 字符串的函数AfxExtractSubString(CString&amp; rString, LPCTSTR lpszFullString,int iSubString, TCHAR chSep = &#39;/n&#39;)

今天无意在网上看到了一个比较不常用的MFC分割 字符串的函数AfxExtractSubString(CString& rString, LPCTSTR lpszFullString,int iSubString, TCHAR chSep = '/n'),下面大概说一下它的用法: 参数说明: rString 得到的字符串:lpszFullString 待分割的字符串:iSubString 要得到第几个字符串:chSep 个子串之间的分隔符 例如,有一个字符串strFullString = "

面试题之java 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要求不能出现截半的情况

题目:10. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”. 一.需要分析 1.输入为一个字符串和字节数,输出为按字节截取的字符串-------------->按照字节[byte]截取操作字符串,先将String转换成byte类型 .2.汉字不可以截半----------------------------------

分割字符串表值函数

实际工作中,我们通常会有这样的业务场景,需要把一大串字符串,用某个特定的字符串分割出来,生成一张表.一下方法就很好的解决了这个问题. 1 IF EXISTS(SELECT 1 FROM SYSOBJECTS WHERE ID=OBJECT_ID('fn_Split') AND XTYPE='FN') 2 BEGIN 3 DROP FUNCTION dbo.fn_Split 4 END 5 GO 6 --功 能:分割字符串表值函数 7 --参 数:@String 分割的字符串 8 -- @Deli

一个截取字符串函数引发的思考

背景 前些天,遇到这样一个问题,问题的内容如下: 要求编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.但是要保证汉字不被截半个,如"我ABC", 4,截取后的效果应该为"我AB",输入"我ABC汉DEF", 6,应该输出为"我ABC",而不是"我ABC+汉的半个". 问题 刚看到这个问题的时候,以为还是很简单的,但写出来之后,发现并不是想要的效果.回想一下当时的思路,就发现刚开

php分割字符串

php分割字符串的函数 1,substr $str1 = substr($str,5); echo "从第5个字符开始取至最后:".$str1."; $str2 = substr($str,9,4); echo "从第9个字符开始取4个字符:".$str2."; $str3 = substr($str,-5); echo "取倒数5个字符:".$str3."; $str4 = substr($str,-8,4); e

SQL Server分割字符串

下面是创建了以","分割字符串的函数:  create   function   f_splitstr(@SourceSql   varchar(8000),@StrSeprate   varchar(100))      returns   @temp    table(F1   varchar(100))      as        begin      declare   @ch    as   varchar(100)      set   @[email protected

php 字符串截取函数

php自带的一个截取字符串的函数,只能处理英文,数字的不能截取中文混排的哦,有需要的朋友可以参考,后面的比较好用,第一个主要是给初学者学学用的. php //构造字符串 $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; echo "原字符串:".$str." "; //按各种方式进行截取 $str1 = substr($str,5); echo "从第5个字符开始取至最后:".$str1."

C语言分割字符串函数strtok

在编程过程中,有时需要对字符串进行分割.而有效使用这些字符串分隔函数将会给我们带来很多的便利. 下面我将在MSDN中学到的strtok函数做如下翻译. strtok :在一个字符串查找下一个符号 char *strtok( char *strToken, const char *strDelimit ); 返回值:返回指向在strToken字符串找到的下一个符号的指针,当在字符串找不到符号时,将返回NULL.每 次调用都通过用NULL字符替代在strToken字符串遇到的分隔符来修改strTok

模拟java的split函数,分割字符串,类似于java的split方法

/*自定义oracle的分割函数*//*定义一个type,用户接收返回的数据集合*/create or replace type splitType as table of varchar2(4000); /* 参数1: 被分割的字符串 参数2:分割字符串,默认是英文逗号*/create or replace function split_str(str varchar2, split_char varchar2:=',') return splitType pipelinedis idx nu