zoukankan      html  css  js  c++  java
  • SQL2005中利用xml拆分字符串序列

    该问题来自社区提问。

    效率不一定很高,但是肯定比替换为select union all好些,起码不用考虑因为字符串过长而导致动态sql语句过长

    代码如下:

    DECLARE   @str   varchar ( 1000 )
    DECLARE   @idoc   int ;
    DECLARE   @doc  xml;

     
    set   @str = ' 1¦3¦4¦25 '
    set   @doc = cast ( ' <Root><item><ID> ' + replace ( @str , ' ¦ ' , ' </ID></item><item><ID> ' ) + ' </ID></item></Root> '   as  xml)

     
    EXEC  sp_xml_preparedocument  @Idoc  OUTPUT,  @doc

    SELECT   *     FROM  OPENXML ( @Idoc ' /Root/item ' , 2 )
       
    WITH  (
                
    [ ID ]   varchar ( 10 )
             )
     
     
    /*
    ID
    -----------
    1
    3
    4
    25
    */
  • 相关阅读:
    2021-4-20 日报博客
    2021-4-19 日报博客
    2021-4-17 周报博客
    java web
    java web
    java web
    java
    java
    周末总结8
    java web
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6204949.html
Copyright © 2011-2022 走看看