zoukankan      html  css  js  c++  java
  • sql server数据字符串分割功能sql

    --分割字符串函数
    create FUNCTION [dbo].[GetSplitStringValueInIndex]
    (
        @originalStr     VARCHAR(1024),    --要分割的字符串
        @split           VARCHAR(10),    --分隔符号
        @index           INT --取第几个元素
    )
    RETURNS VARCHAR(1024)
    AS
    BEGIN
        DECLARE @location INT; --定义第一次出现分隔符号的位置
        DECLARE @start INT;--定义开始位置
        DECLARE @next INT; --定义下一个位置
        DECLARE @seed INT; --定义分割符号的长度
        
        SET @originalStr = LTRIM(RTRIM(@originalStr));--去除字符串左右2侧空格
        SET @start = 1;
        SET @next = 1;
        SET @seed = LEN(@split);
        
        SET @location = CHARINDEX(@split, @originalStr);--第一次出现分隔符号的位置
        
        WHILE @location <> 0
              AND @index > @next
        BEGIN
            SET @start = @location + @seed;
            SET @location = CHARINDEX(@split, @originalStr, @start);
            SET @next = @next + 1;
        END
        
        IF @location = 0
            BEGIN
                SELECT @location = LEN(@originalStr) + 1;
            END
    
        --存在两种情况:
        --1、字符串不存在分隔符号。
        --2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。
        
        RETURN SUBSTRING(@originalStr, @start, @location -@start);
    END
    
    select  [dbo].[GetSplitStringValueInIndex]('978-7-5007-7234-7','-',4)
  • 相关阅读:
    Python Virtualenv 虚拟环境
    二叉树的左视图和右视图
    Vxlan简介
    2、程序的基本结构
    chef cookbook 实战
    eclipse 搭建ruby环境
    linux 安装软件出现/tmp 磁盘不足时 解决方案
    Python 可变对象与不可变对象
    Chapter 4-5
    Chapter 3
  • 原文地址:https://www.cnblogs.com/wt-vip/p/7698091.html
Copyright © 2011-2022 走看看