字符串列上的模式匹配

Pattern Match on String Column

在许多函数式编程语言中,有一种方法可以进行模式匹配,例如 F# 有 match expression with

在我的用例中,我想将一个字符串与一组 strings/regexes 和 return 匹配一个值(字符串):

// path:string
iif(path == '/', 'home',
iif(path == '/search', 'search',
iif(path == '/*/*/*-for-sale-*', 'product',
'other',
)))

iif 语法确实很难看。有没有更简洁的方法来查找字符串匹配和 return 值?

case() 有一个相对较新的语法:

range Size from 1 to 15 step 2
| extend bucket = case(Size <= 3, "Small", 
                       Size <= 10, "Medium", 
                       "Large")