当前位置: 首页 > 面试题库 >

解析列包含SQL Server中的路径值

关志勇
2023-03-14
问题内容

如何在SQL Server中解析包含URL路径值的列?

输入

sites/System1/DocLib1/Folder1/SubFolder/File.pdf

应该返回:

Column 1 - Column 2 - Column 3- Column 4- Column 5 - Column 6
sites      System1    DocLib1   Folder1   SubFolder  File.pdf

每行的路径值不同


问题答案:

如果您拥有已知的或最大数量的级别,则可以使用一些XML。

如果未知,则必须动态进行。

例子

Declare @yourtable table (id int,url varchar(500))
Insert Into @yourtable values
(1,'sites/System1/DocLib1/Folder1/SubFolder/File.pdf')

Select A.id
      ,B.*
 From  @yourtable A
 Cross Apply (
                Select Pos1 = ltrim(rtrim(xDim.value('/x[1]','varchar(max)')))
                      ,Pos2 = ltrim(rtrim(xDim.value('/x[2]','varchar(max)')))
                      ,Pos3 = ltrim(rtrim(xDim.value('/x[3]','varchar(max)')))
                      ,Pos4 = ltrim(rtrim(xDim.value('/x[4]','varchar(max)')))
                      ,Pos5 = ltrim(rtrim(xDim.value('/x[5]','varchar(max)')))
                      ,Pos6 = ltrim(rtrim(xDim.value('/x[6]','varchar(max)')))
                      ,Pos7 = ltrim(rtrim(xDim.value('/x[7]','varchar(max)')))
                      ,Pos8 = ltrim(rtrim(xDim.value('/x[8]','varchar(max)')))
                      ,Pos9 = ltrim(rtrim(xDim.value('/x[9]','varchar(max)')))
                From  (Select Cast('<x>' + replace(url,'/','</x><x>')+'</x>' as xml) as xDim) as A 
             ) B

退货

id  Pos1    Pos2    Pos3    Pos4    Pos5        Pos6        Pos7    Pos8    Pos9
1   sites   System1 DocLib1 Folder1 SubFolder   File.pdf    NULL    NULL    NULL


 类似资料:
  • 请参阅下面我使用的pom.xml: 无法解析SLF4J:类路径包含多个SLF4J绑定。无法解析SLF4J:类路径包含多个SLF4J绑定。无法解析SLF4J:类路径包含多个SLF4J绑定。无法解析SLF4J:类路径包含多个SLF4J绑定。无法解析SLF4J:类路径包含多个SLF4J绑定。无法解析SLF4J:类路径包含多个SLF4J绑定。无法解析SLF4J:类路径包含多个SLF4J绑定。无法解析SLF

  • 我在Eclipse中创建了一个Java项目,并创建了一个带有main方法的简单类。 问题:当我运行程序(没有任何服务器等)时,我收到以下错误: 线程“main”java中出现异常。lang.NoClassDefFoundError:org/apache/commons/codec/DecoderException at autoPEC。main(autoPEC.java:6)由:java引起。la

  • 问题内容: 我有/root/update/test.php文件。还有一个文件/root/connect.php; 该文件有一行 在/root/update/test.php中。有代码 当我运行/root/update/test.php时,它找到connect.php,但是找不到config.php,这给了我 这让我感到困惑,因为这些警告使我似乎似乎在正确地进行所有操作-包含路径为/ root,并且

  • 我试图通过JNA在eclipse中使用GStreamer。Processing为此提供了一个库,如果我试图通过从eclipse中以applet的形式运行sketch来运行代码,那么一切都很好,但是当我试图执行整个应用程序时,我会得到一个警告列表(在相机第一次调用时),如下所示 这条路似乎不对... 我从来没有写过需要jna的库,我试图使用这个库,如果可能的话,有什么建议吗?

  • 问题内容: 是否可以指定一个Java ,其中包含另一个JAR文件中包含的JAR文件? 问题答案: 如果您试图创建一个包含应用程序及其所需库的jar,则有两种方法(我知道)。第一个是One-Jar,它使用特殊的类加载器来允许jar的嵌套。第二个是UberJar(或Shade),它会爆炸包含的库并将所有类放在顶级jar中。 我还应该提到UberJar和Shade分别是Maven1和Maven2的插件。

  • 问题内容: 他们是否有理由不决定在Android中添加contains方法(用于Path)? 我想知道我在路径中的点,并希望它比在这里看到的容易: 如何判断封闭路径是否包含给定点? 对我来说,创建一个ArrayList并将整数添加到数组中会更好吗?(我在控制声明中只检查了一次)。 到目前为止,我的选择是: 使用区域 使用ArrayList 扩展课堂 你的建议 我只是在寻找最有效的方法 问题答案: