1
嗨,我有串llike,如何將日期從字符串中分離出來?
我想在follwing方式單獨此字符串
「0.8在09年1月15日難熬的因素」,
1]日期01- 15-09 2]因子0.8
注:字符串長度不固定。
那麼我們怎樣才能以#1 &#2的形式分離數據呢?
嗨,我有串llike,如何將日期從字符串中分離出來?
我想在follwing方式單獨此字符串
「0.8在09年1月15日難熬的因素」,
1]日期01- 15-09 2]因子0.8
注:字符串長度不固定。
那麼我們怎樣才能以#1 &#2的形式分離數據呢?
要獲取可以使用的日期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)
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
@VikrantMore不,我知道的。你需要一個特定的模式來解決問題。日期很簡單,但找到「xx因素」是不可能的,除非你知道它之前的字符串。看看我在說什麼? – 2011-11-10 14:58:26