使用纯 SQLite 将字符串拆分为行 [英] Split a string into rows using pure SQLite

查看:23
本文介绍了使用纯 SQLite 将字符串拆分为行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用 SQLite,我想按以下方式拆分字符串.

Using SQLite, I'd like to split a string in the following way.

输入字符串:

C:\Users\fidel\Desktop\Temp

并让查询返回这些:

C:\
C:\Users\
C:\Users\fidel\
C:\Users\fidel\Desktop\
C:\Users\fidel\Desktop\Temp

换句话说,我想将文件路径拆分为其组成路径.有没有办法在纯 SQLite 中做到这一点?

In other words, I'd like to split a file path into its constituent paths. Is there a way to do this in pure SQLite?

推荐答案

这可以通过递归的通用表来实现表达:

WITH RECURSIVE split(s, last, rest) AS (
  VALUES('', '', 'C:\Users\fidel\Desktop\Temp')
  UNION ALL
  SELECT s || substr(rest, 1, 1),
         substr(rest, 1, 1),
         substr(rest, 2)
  FROM split
  WHERE rest <> ''
)
SELECT s
FROM split
WHERE rest = ''
   OR last = '\';

(你没有要求一个合理的方式.)

这篇关于使用纯 SQLite 将字符串拆分为行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆