添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
善良的香烟  ·  vue ts v-for ...·  1 年前    · 
另类的饭盒  ·  应松年-法治政府网·  1 年前    · 
坏坏的红金鱼  ·  eclipse - Java and ...·  1 年前    · 

sql 数组拆分

SQL 语言中并没有直接支持数组的数据类型。但是,通常可以使用字符串来表示数组,并使用一些方法来拆分这个字符串。

例如,假设你有一张表,其中包含一列名为 col ,其中存储的是以逗号分隔的数字字符串,如 '1,2,3,4,5' 。你可以使用以下语句来将这个字符串拆分成多行,每行一个数字:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(col, ',', n), ',', -1) AS num
FROM my_table
CROSS JOIN (SELECT 1 AS n UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t

这个语句使用了 MySQL 中的 SUBSTRING_INDEX() 函数,它可以从一个字符串中提取子串。在这个例子中,我们首先使用第一个 SUBSTRING_INDEX() 函数来获取从左到右第 n 个逗号前面的所有字符。然后,使用第二个 SUBSTRING_INDEX() 函数来获取从右到左第一个逗号后面的所有字符,也就是数字本身。

这个语句还使用了一个名为 CROSS JOIN 的操作,它可以将一张表与一个虚拟表进行笛卡尔积运算。在这个例子中,我们使用 CROSS JOIN 来将 my_table 表与一个包含数字 15 的虚拟表进行笛卡尔积运算,

  •