首页 > 数据库 > mysql教程 > 如何在 SQLite 中有效地拆分逗号分隔值?

如何在 SQLite 中有效地拆分逗号分隔值?

Linda Hamilton
发布: 2025-01-03 11:00:39
原创
925 人浏览过

How to Efficiently Split Comma-Separated Values in SQLite?

在 SQLite 中拆分逗号分隔值

处理包含逗号分隔值的数据时,可能需要提取各个组件。在 SQLite 中,使用 Replace() 和 Trim() 等函数来实现这一点可能很麻烦。这是使用通用表表达式 (CTE) 的更有效方法。

解决方案:

第 1 步: 定义 CTE

WITH split(word, csv) AS (
  SELECT '', 'Auto,A,1234444'||','
  UNION ALL SELECT
    substr(csv, 0, instr(csv, ',')),
    substr(csv, instr(csv, ',') + 1)
  FROM split
  WHERE csv != ''
)
登录后复制
  • SELECT:初始化 word 和 csv
  • UNION ALL:用逗号递归拆分 csv 值。
  • WHERE csv != '':当没有更多值可供拆分时终止递归。

第 2 步: 提取值

SELECT word FROM split WHERE word!='';
登录后复制
  • 过滤掉第一行和最后一行(虚拟/终端值)。
  • 将分割值提取到单词列中。

输出:

Auto
A
1234444
登录后复制

这个解决方案提供了一种简单有效的方法来在 SQLite 中分割逗号分隔值,即使字符串长度不同。

以上是如何在 SQLite 中有效地拆分逗号分隔值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板