2011-11-10 18 views
1

こんにちは私は、文字列として私はfollwing方法で、この文字列を区切るたかった日付と文字列を区別する方法は?

"0.8の01-15-09 withaファクタの" llike、

1]の日付を持っています01- 15-09 2]係数0.8

注:文字列の長さは固定されていません。

私は#1 &#2の形式でデータをどのように分離できますか?

答えて

3

日付を取得するにはPATINDEX()を使用します。

declare @yourString varchar(100) 
set @yourString = 'on 01-15-09 with a factor of 0.8' 

select substring(@yourString, 
      patindex('%[0-9][0-9]-[0-9][0-9]-[0-9][0-9]%', @yourString), 
      8) 

を行うことができます "XXの要因" を取得するには、次の

select substring(@yourString, 
     patindex('%with a%', @yourString) + 7, 
     20) 
+1

@VikrantMoreませんが。あなたは仕事をするには特定のパターンが必要です。日付は簡単ですが、 "factor of xx"を見つけることは、それに先行する文字列を知らない限り不可能です。私の言っていることを見て? –

1
declare @txt varchar(max) 
set @txt = 'on 01-15-09 witha factor of 0.8' 

select cast(substring(@txt, patindex('% [0-9][1-9]-%', @txt), 9) as date) [date], 
cast(right(@txt, patindex('%_ %', reverse(@txt))) as decimal(9,1)) Factor 

結果:私が知っていることを

date  Factor 
---------- ------ 
2009-01-15 0.8 
関連する問題