0

PATINDEXSQL Server 2008 R2の関数を使用して、文字列から値 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')

位置を返しますが24、値が必要です3

誰かが解決策を手伝ってもらえますか?

4

3 に答える 3

2

Please try:

Select substring(Data, PatIndex('%[0-9]%', Data), 1)
from(
    select 'Charged Hourly Fee for 3 CR for BCP202DL Personal Development II' as Data
)x
于 2013-03-20T12:12:29.080 に答える
0

patindex関数を使用する必要があり、アイテムの説明に「3」などの別の番号が含まれない場合は、次を使用できます。

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

これは24を返します。

注文数量が常に同じ位置にある文字列を見ているのではないかと思います。その場合、部分文字列関数を使用します。

于 2013-03-20T12:20:40.527 に答える
0
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)

これは、文字列の最初の数字を返します。

あなたが行っていた方法は、最初の桁の位置を返すことでした.私のコードはその位置で値を返します.

于 2013-03-20T12:46:33.590 に答える