1

如何用空值替换字符串数据类型的空(非空)列?

所以说以下查询返回非零记录集:-

mytable | where mycol == ""

现在这些是 mycol 包含空字符串的行。我想用空值替换这些。现在,根据我在 kusto 文档中读到的内容,我们有特定于数据类型的 null 文字,例如 int(null)、datetime(null)、guid(null) 等。但是没有 string(null)。最接近字符串的是 guid,但是当我以下列方式使用它时,出现错误:-

mytable | where mycol == "" | extend test = translate(mycol,guid(null))

错误:-

translate(): argument #0 must be string literal

那么出路又是什么呢?

更新:-

datatable(n:int,s:string)
[
    10,"hello",
    10,"",
    11,"world",
    11,"",
    12,""
]
| summarize myset=make_set(s) by n

如果执行此操作,您可以看到空字符串被视为集合的一部分。我不想要这个,这样的空字符串不应该是我的数组的一部分。但同时我不想失去 n 的值,如果我使用 isnotempty 函数,这正是会发生的事情。所以在下面的例子中,你可以看到没有返回n=12的行,不需要跳过n=12,总是可以得到一个空数组:-

datatable(n:int,s:string)
[
    10,"hello",
    10,"",
    11,"world",
    11,"",
    12,""
]
| where isnotempty(s)
| summarize myset=make_set(s) by n
4

1 回答 1

2

目前不支持null字符串数据类型的值:https ://docs.microsoft.com/en-us/azure/kusto/query/scalar-data-types/null-values

我很确定这本身不应该阻止你达到你的最终目标,但这个目标目前还不清楚。

[根据您的更新进行更新:]

datatable(n:int,s:string)
[
    10,"hello",
    10,"",
    11,"world",
    11,"",
    12,""
]
| summarize make_set(todynamic(s)) by n
于 2019-03-27T01:00:11.773 回答