使用PATINDEX在T-SQL中查找不同长度的模式

前端之家收集整理的这篇文章主要介绍了使用PATINDEX在T-SQL中查找不同长度的模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一些varchars中的浮点数,使用PATINDEX()来发现它们.我知道在每个varchar字符串中,我只对存在的第一个float感兴趣,但它们可能具有不同的长度.

例如

'some text 456.09 other text'
'even more text 98273.453 la la la'

我通常会与正则表达式匹配

"[0-9]+[.][0-9]+"

但是,我找不到与PATINDEX接受的运算符相当的等价物.所以他们需要匹配(分别)与:

'[0-9][0-9][0-9].[0-9][0-9]' and '[0-9][0-9][0-9][0-9][0-9].[0-9][0-9][0-9]'

有没有办法匹配这两个这些示例varchars与一个有效的PATINDEX模式?

解决方法

PATINDEX不够强大到这样做.你应该使用正则表达式.

sql Server 2005以来,sql Server具有正则表达式支持.

原文链接:https://www.f2er.com/mssql/74953.html

猜你在找的MsSQL相关文章