teradata - Teradata SQL - 转换由 ; 分隔的值 在单列到多行
问题描述
我有一个带有逗号分隔值的列,如下所示。
从 test_table 中选择 job_dependency;
工作依赖
1;2;3;4;5;6
我需要在 Teradata SQL 中将其转换为以下格式,其中每个数字都是一行。
工作依赖
1 2 3 4 5 6
任何帮助都会非常有帮助。
解决方案
此任务有一个表函数:
WITH cte AS
(
SELECT
1 AS inKey -- might be a column, either INT or VarChar up to 60 bytes
-- Other data types should be CASTed to VarChar (and back in the Select)
,job_dependency2 AS inString
FROM test_table
)
SELECT *
FROM TABLE
( StrTok_Split_To_Table(cte.inKey, cte.inString, ';')
RETURNS (outKey INTEGER, -- data type must match input column
tokenNum INTEGER,
token VARCHAR(20))
) AS dt
推荐阅读
- java - 如何通过 Springboot 服务的 2 个实例从共享位置并行访问文件?
- akka-http - akka-http中的拒绝和异常有什么区别
- reactjs - 使用 React 的 Azure Bot Framework 出现问题
- python - 使用事件按钮时的位置参数
- twilio - 是否可以将 Twilio CallSid 与 PIN 码相关联?
- javascript - 为什么这个 CSS 图像预加载解决方案只适用于 Chrome 和 Opera?
- php - Laravel 多邮件配置和多并发用户
- microsoft-graph-api - 通过事件消息获取特定事件版本
- google-apps-script - 触发器处理和可见性 (GAS) - 管理的最佳方式
- node.js - 关联数组显示空值