- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Azure Synapse 的专用 SQL 池脚本中执行简单的 SELECT 语句。其中之一是:
SELECT regexMatch('abctest','^[A-Za-z]*$');
该语句应该返回True,因为它测试字符串是否仅包含字母。相反,它会生成以下错误消息:“regexMatch”不是可识别的内置函数名称。'
当我检查官方文档时,内置函数是可用的,并且该函数的任务符合预期。 https://learn.microsoft.com/en-us/azure/data-factory/data-flow-expression-functions
我还找到了此页面,其中解释了如何创建管道/数据流来执行正则表达式这些命令。 https://learn.microsoft.com/en-us/azure/data-factory/tutorial-data-flow
我尝试过并且成功了,但是我需要regexMatch 和 regexReplace 函数在简单的 SQL 脚本和 SELECT 命令中工作,它看起来更简单且不那么繁琐。我有什么办法可以做到吗?或者使用数据流是唯一可能的方法吗?
提前致谢。
最佳答案
Azure 数据流表达式与 SQL 查询函数不同。它们并不相同。
目前regexMatch
和regexReplace
不是内置函数,并且在 Synapse SQL 中不受支持。您可以看到我对 regexReplace
遇到了同样的错误.
此外,我在 SQL 数据库中检查了相同的内容,它给出了相同的错误,这意味着 SQL 也不支持这些。
说到Dataflow表达式,它们与spark更相关,而不是与SQL函数相同。
您可以为 SELECT regexMatch('abctest','^[A-Za-z]*$');
构建等效的 SQL 查询使用LIKE
和NOT LIKE
.
SELECT CASE WHEN 'abctest' NOT LIKE '%[^A-Za-z]%' THEN 0 ELSE 1 END AS res;
对于regexReplace
,您需要根据需要使用SQL的字符串函数的组合。
查看此 SO Answer 中给出的一些解决方法通过@Mukus使用replace
, LIKE
, PATINDEX
, LEFT
和RIGHT
.
如果您使用数据流,最好使用数据流中的函数来实现您的要求,因为可能无法复制 SQL 查询中的所有正则表达式。
关于sql - Azure Synapse Analytics 中的 regexMatch 和 regexReplace 函数不会在简单的 SELECT 语句中生成结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76680053/
我正在使用 ArrayFormula 和 FILTER 组合列出包含所有搜索词的列中的所有单元格。我使用的是 REGEXMATCH 而不是 QUERY/CONTAINS/LIKE,因为我的 FILTE
当我使用 RegexMatcher(来自 icu api)时,内存没有被释放。完成重置后内存未被释放,每次重置都会导致更多内存丢失(inputBuffer 是 UnicodeString)。 似乎只是
在谷歌表格中工作,我有以下公式: =if(REGEXMATCH(A1,B1),C1,"") 这个想法是,如果单元格 A1 的任何部分包含 B1 中列出的文本,则输出将为 C1,否则,单元格将留空。 我
现在我有这些数据,我正在尝试过滤掉单元格 C3、C4 等中包含的数据。 我在过滤 1 个单元格的正则表达式匹配数据时没有问题,如下所示 但是我无法像这样对超过 2 个单元格进行正则表达式匹配,例如,我
我如何在应用程序脚本中获得与 regexmatch 等效的内容? 电子表格示例: A1 = "ThisIsA2018Test" B1 = "IsA(\d){1,4}Test" REGEXMATCH(A
基本上,我试图找到一种方法来搜索短语列表并突出显示/提取或识别包含来自单独列/列表的短语或单词的任何短语或单元格。 为了说明这一点,我有一个触发我的谷歌广告的“搜索词”列表,这个列表包含人们输入谷歌搜
我应该如何在Spring Security的regexMatcher中使用这样的参数?我有许多以 /sUrl 开头且具有不同参数的 URL。此代码不起作用! .regexMatchers("\\/sU
我在 A 列上有一个文本列表,我喜欢根据该单元格中是否存在正则表达式匹配来运行开关。 A1 = "https://www.amazon.es/dp/B07PHPXHQS/ref=gw_es_desk_
我在 A 列上有一个文本列表,我喜欢根据该单元格中是否存在正则表达式匹配来运行开关。 A1 = "https://www.amazon.es/dp/B07PHPXHQS/ref=gw_es_desk_
=IF(OR(REGEXMATCH(C3,"A"),REGEXMATCH(C3,"+"),REGEXMATCH(C3,"G")),1,0) 在 Google 表格中,我使用上述公式输出 1如果 A ,
我正在尝试在 Azure Synapse 的专用 SQL 池脚本中执行简单的 SELECT 语句。其中之一是: SELECT regexMatch('abctest','^[A-Za-z]*$');
我收到以下错误: java.lang.Exception: java.io.IOException: Type mismatch in key from map: expected org.apach
我是一名优秀的程序员,十分优秀!