栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SQL-将单列划分为多列

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL-将单列划分为多列

取决于数据的一致性-假设要在第一列与第二列中显示的内容之间用一个空格隔开:

WITH TEST_DATA AS  (SELECt 'LOREM IPSUM' COLUMN_A FROM DUAL)SELECt SUBSTr(t.COLUMN_A, 1, INSTR(t.COLUMN_A, ' ')-1) AS COLUMN_A,       SUBSTr(t.COLUMN_A, INSTR(t.COLUMN_A, ' ')+1) AS COLUMN_BFROM test_data T;

您还可以在REGEX中使用以下查询:

WITH TEST_DATA AS   (SELECt 'LOREM IPSUM' COLUMN_A FROM DUAL)SELECt REGEXP_SUBSTr(t.COLUMN_A, '[^ ]+', 1, 1) COLUMN_A,       REGEXP_SUBSTr(t.COLUMN_A, '[^ ]+', 1, 2) COLUMN_BFROM test_data T;

Oracle 10g +具有正则表达式支持,根据您需要解决的情况提供更大的灵活性。它也有一个正则表达式子字符串方法…

编辑: 3字分割:

WITH TEST_DATA AS  (SELECt 'LOREM IPSUM DIMSUM' COLUMN_A FROM DUAL) SELECt REGEXP_SUBSTr(t.COLUMN_A, '[^ ]+', 1, 1) COLUMN_A,     REGEXP_SUBSTr(t.COLUMN_A, '[^ ]+', 1, 2) COLUMN_B,     REGEXP_SUBSTr(t.COLUMN_A, '[^ ]+', 2, 3) COLUMN_C FROM test_data T;

参考:

  • SUBSTR
  • 仪器


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/425986.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号