加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 08:54:12 所属栏目:MsSql教程 来源:网络整理
导读:我正在寻找一些varchars中的浮点数,使用PATINDEX()来发现它们.我知道在每个varchar字符串中,我只对存在的第一个float感兴趣,但它们可能具有不同的长度. 例如 'some text 456.09 other text''even more text 98273.453 la la la' 我通常会与正则表达式匹配 "[0
我正在寻找一些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具有正则表达式支持.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读