如何用空值替换字符串数据类型的空(非空)列?
所以说以下查询返回非零记录集:-
mytable | where mycol == ""
现在这些是带有mycol的行,其中包含空字符串。我想将它们替换为null。现在,根据我在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
答案 0 :(得分:2)
当前不支持null
字符串数据类型的值:this site
我可以肯定的是,它本身并不能阻止您达到最终目标,但是该目标目前尚不清楚。
[根据您的更新进行更新:]
datatable(n:int,s:string)
[
10,"hello",
10,"",
11,"world",
11,"",
12,""
]
| summarize make_set(todynamic(s)) by n