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',';')

    执行结果:

  • 相关阅读:
    web ERP前端技术选型
    poj1741 Tree 树的分治
    HDU4694 未AC
    zoj4100 Balanced Number 数位DP
    树的最小表示法 UVA 12489
    2013长沙网赛 I题 Grand Prix
    2013第八场多校
    2013第六场多校
    2013第五场多校
    ZOJ3724 树状数组+离线处理
  • 原文地址:https://www.cnblogs.com/insus/p/2368283.html
Copyright © 2011-2022 走看看