如何解释 Azure 数据工厂中的 indexof 表达式和函数
How to interpret indexof expression and functions in Azure Data Factory
我正在尝试了解 Azure 数据工厂的 indexof 表达式(函数)。
示例
此示例查找“hello world”字符串中“world”子字符串的起始索引值:
indexOf('hello world', 'world')
And returns this result: 6
我对 'index value' 的含义以及示例如何得出结果 6 感到困惑。
此外,使用上面的示例,有人可以告诉我以下表达式的答案是什么吗?
@if(greater(indexof(string(pipeline().parameters.Config),'FilenameMask'),0),pipeline().parameters.Config.FilenameMask,'')
指数
{"FilenameMask":"accounts*."}
'Config'表示sql数据库中的一个字段
根据 the docs:
Return the starting position or index value for a substring. This function is not case-sensitive, and indexes start with the number 0.
hello world
01234567890
^
+--- "world" found starting at position 6
关于你问题的第二部分。为了清楚起见,这里重写了表达式:
@if( greater(indexof(string(pipeline().parameters.Config),'FilenameMask'),0)
,pipeline().parameters.Config.FilenameMask
,'')
可以这样理解:
if the index of the string "FilenameMask" within x is greater than 0 then
return x.Filenamemask
else
return an empty string
其中 x 是 pipeline()。parameters.Config,它是数据库 table 中“配置”列的值。它将包含
等值
{"sparkConfig":{"header":"true"},"FilenameMask":"cashsales*."}
和
{"FilenameMask":"accounts*."}
ADF表达式也可以这样读:
if the JSON in the Config column contains a "FilenameMask" key then
return the value of the FilenameMask key
else
return an empty string
我正在尝试了解 Azure 数据工厂的 indexof 表达式(函数)。
示例
此示例查找“hello world”字符串中“world”子字符串的起始索引值:
indexOf('hello world', 'world')
And returns this result: 6
我对 'index value' 的含义以及示例如何得出结果 6 感到困惑。
此外,使用上面的示例,有人可以告诉我以下表达式的答案是什么吗?
@if(greater(indexof(string(pipeline().parameters.Config),'FilenameMask'),0),pipeline().parameters.Config.FilenameMask,'')
指数
{"FilenameMask":"accounts*."}
'Config'表示sql数据库中的一个字段
根据 the docs:
Return the starting position or index value for a substring. This function is not case-sensitive, and indexes start with the number 0.
hello world
01234567890
^
+--- "world" found starting at position 6
关于你问题的第二部分。为了清楚起见,这里重写了表达式:
@if( greater(indexof(string(pipeline().parameters.Config),'FilenameMask'),0)
,pipeline().parameters.Config.FilenameMask
,'')
可以这样理解:
if the index of the string "FilenameMask" within x is greater than 0 then
return x.Filenamemask
else
return an empty string
其中 x 是 pipeline()。parameters.Config,它是数据库 table 中“配置”列的值。它将包含
等值{"sparkConfig":{"header":"true"},"FilenameMask":"cashsales*."}
和
{"FilenameMask":"accounts*."}
ADF表达式也可以这样读:
if the JSON in the Config column contains a "FilenameMask" key then
return the value of the FilenameMask key
else
return an empty string