小编Ric*_*ard的帖子

U-SQL将列拆分为两个,由" - "分隔

我试图通过在数据湖分析中使用U-SQL将列拆分为两个.在SQL中可以这样做:

    ,CASE WHEN [Total] like '%-%' 
        THEN TRIM(LEFT([Total],CHARINDEX('-',[Total]) - 1)) END AS [TotalLeft]
    ,TRIM(REPLACE(SUBSTRING([Total],CHARINDEX('-',[Total]),LEN([Total])),'-','')) AS TotalRight
Run Code Online (Sandbox Code Playgroud)

我在U-SQL中尝试了类似的东西,但似乎在U-SQL中不存在LEFT.

([Total] LIKE "%-%") ? Left([Total].IndexOf("-"), 1).Trim                   : 0 AS TotalLeft,
Run Code Online (Sandbox Code Playgroud)

我读到了使用数组和EXPLODE,但这似乎只是将它分成更多行而不是列.

此外,我正在考虑使用EXTRACT并将分隔符设置为" - ",但这似乎也不是一个选项.

任何人都对如何有效地解决这个问题有任何想法?谢谢!

c# sql split azure-data-lake u-sql

2
推荐指数
1
解决办法
1106
查看次数

标签 统计

azure-data-lake ×1

c# ×1

split ×1

sql ×1

u-sql ×1