zoukankan      html  css  js  c++  java
  • 使用XQuery的nodes()方法实现字符拆分

    比如一串字符以某定义符号分隔,现我们需要以定义符号对这串字符进行拆分。可以使用XQuery的nodes()方法来实现。实现可参考到这篇:http://www.cnblogs.com/insus/archive/2012/02/25/2367743.html 。不过Insus.NET把实现的方法写成一个自定义函数,在需要的地方调用即可。

    udf_StringSplit
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    --
     Author:        Insus.NET
    --
     Create date: 2012-02-26 00:15:00
    --
     Description:    Split the string from the delimiter
    --
     =============================================
    CREATE FUNCTION [dbo].[udf_SplitString]
    (
        @Value NVARCHAR(MAX),
        @Delimiter CHAR(1)

    RETURNS @SplitResult TABLE ([ID] INT IDENTITY(1,1),[WORD] NVARCHAR(MAX))
    AS
    BEGIN
        DECLARE @xml XML = CAST('<insus>' + REPLACE(@Value,@Delimiter,'</insus><insus>'+ '</insus>' AS XML)
        INSERT INTO @SplitResult([WORD]SELECT n.value('.','NVARCHAR(50)'AS w
        FROM @xml.nodes('/insus'AS E(n)
      RETURN
    END

    应用自定义函数:

    SELECT [ID],[WORD] FROM [dbo].[udf_SplitString]('ad;gdf;gdf;gdf;dfsdf',';')

    执行结果:

  • 相关阅读:
    团队开发第二阶段
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    C++类class和结构体struct区别
    c++简单的类的建立与参数的两种传递方法
    C++ 使用delete删除指针
    暂存
  • 原文地址:https://www.cnblogs.com/insus/p/2368283.html
Copyright © 2011-2022 走看看