gpt4 book ai didi

sql - MySQL REGEXP 到 SQL Server

转载 作者:可可西里 更新时间:2023-11-01 06:49:20 25 4
gpt4 key购买 nike

下面的 MySQL 表达式在 SQL Server 中的等效项是什么?

... WHERE somefield REGEXP '^[[:blank:]]*ASD[[:blank:]]*$|^[[:blank:]]*ASD[[:blank:]]*[[.vertical-line.]]|[[.vertical-line.]][[:blank:]]*ASD[[:blank:]]*$|[[.vertical-line.]][[:blank:]]*ASD[[:blank:]]*[[.vertical-line.]]'

最佳答案

不幸的是,mssql 中的正则表达式支持很糟糕,最接近的运算符是“like”,它错过了正则表达式的功能一英里。您将不得不考虑将正则表达式分解为多个 like 语句,并可能进行一些脏字符串操作来模拟您试图实现的目标。

例如,虽然我们可以用 [ ] 复制 [[:blank:]](阅读 [ Space Tab ]),但我们不能强制匹配它们中的零个或多个,因此我们必须将它们从表达式中剥离出来,但这将匹配 ' A S D ',因此我们需要测试未修改的字符串中是否存在 ASD。

我认为以下内容会替换您的正则表达式,但它很快就被组合在一起,因此请仔细测试。

replace(replace(somefield,' ',''),' ','') in ('ASD','|ASD','|ASD|','ASD|')
and
somefield like '%ASD%'

同样,在我的替换语句中,一个是空格,另一个是制表符。

关于sql - MySQL REGEXP 到 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4105897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com