Patindex in SQL Server 2008 R2



我正在尝试使用SQL Server 2008 R2中的PATINDEX函数从字符串中提取值3

Charged Hourly Fee for 3 CR for BCP202DL Personal Development II

但我似乎犯了一个错误。

我试过

SELECT PatIndex('%[0-9]%', 'Charged Hourly Fee for 3 CR for BCP202DL Personal Development II')

其返回位置CCD_ 2,但我想要值CCD_。

有人能帮忙解决这个问题吗?

请尝试:

Select substring(Data, PatIndex('%[0-9]%', Data), 1)
from(
    select 'Charged Hourly Fee for 3 CR for BCP202DL Personal Development II' as Data
)x
declare @str nvarchar (max)
set @str='Charged Hourly Fee for 3 CR for BCP202DL Personal Development II'
Select substring(@str, PatIndex('%[0-9]%', @str), 1)

这将返回字符串中的第一个数字。

您的方法是返回第一个数字的位置,我的代码将返回该位置的值。

如果您必须使用patidix函数,并且您的物品描述永远不会包含其他数字,如"3",您可以使用以下内容:

select patindex('%3%', 'Charged Hourly Fee for 3 CR for BCP202DL Personal Development II')

这将返回24。

我怀疑你看到的是一个字符串,其中订购的数量总是在相同的位置。在这种情况下,我将使用子字符串函数。

相关内容

  • 没有找到相关文章

最新更新