加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

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

发布时间:2020-05-23 06:17:20 所属栏目:MsSql 来源:互联网
导读:我正在寻找一些varchars中的浮点数,使用PATINDEX()来发现它们.我知道在每个varchar字符串中,我只对存在的第一个float感兴趣,但它们可能具有不同的长度. 例如 some text 456.09 other texteven more text 98273.453 la la la 我通常会与正则表达式匹配 [0-9]+[

我正在寻找一些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具有正则表达式支持.

(编辑:安卓应用网)

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

    推荐文章
      热点阅读