在 Azure 流分析中使用拆分

using split in azure stream analytics

我有格式为“1234.567.111”的字符串。我想把它分成三个整数。

我在 Azure 流分析中没有看到拆分功能。是否可以通过任何其他方式执行此操作。

谢谢

更新:

我已经添加了拆分功能的请求 here..,如果你们投了同样的票,我将不胜感激..

我希望流分析有拆分功能。您现在可能必须使用 CHARINDEX 和 SUBSTRING: https://msdn.microsoft.com/en-us/library/azure/dn835064.aspx

这有点麻烦,但以下方法应该有效:

SELECT mystring
,SUBSTRING(
  mystring
  ,0
  ,CHARINDEX('.',mystring)
 ) as segment1
,SUBSTRING(
  mystring
  ,CHARINDEX('.',mystring)+1
  ,CHARINDEX('.',mystring,CHARINDEX('.',mystring)+1) - CHARINDEX('.',mystring) - 1
 ) as segment2
,SUBSTRING(
  mystring
  ,CHARINDEX('.',mystring,CHARINDEX('.',mystring)+1)+1
  ,999
 ) as segment3
from myinput

我会在这里请求拆分功能(和 post link 以便我们可以投票): http://feedback.azure.com/forums/270577-azure-stream-analytics

以防 7 年后有人像我一样在 2022 年仍然没有拆分功能,但很容易创建一个简单的 JS UDF,尽管可能需要执行少量 resource/time 惩罚

function main(splitstr, splitchar, index) {
    var res = null;

    try {
        res = splitstr.split(splitchar)[index];
    }catch(error){
        throw splitstr;
    }

    return res;
}