我有以下的字母和数字混合文本。
ID Textfield
1 estimated left ventricular ejection fraction 60-65%
2 estimated left ventricular ejection fraction is 55-60%
3 Left ventricular ejection fraction is approximately 40 to 50%
4 Fractional Short 50 %( 28-48) LV mass 83 gm (<220) systolic function left ventricular ejection fraction = 52 %
我需要提取左室射血分数的数字值。
输出应为:
ID Lowerbound Upperbound
1 60 65
2 55 60
3 40 50
4 52 NULL
我尝试了下面的SQL语法来查询字符 - 对于ID 3和4它没有成功(对于ID 4,它给出了50,但应该是52)。
SELECT SUBSTRING(textfield,CHARINDEX('-',
textfield)-1,10),dbo.udf_GetNumeric(RIGHT(left(textfield,CHARINDEX('-
',textfield)-1 ),10))AS Lower_bound,left(textfield, CHARINDEX('-',
textfield) )
,dbo.udf_GetNumeric(SUBSTRING(textfield,CHARINDEX('-', textfield)+1,5))
AS Upper_bound
提前感谢你
CSV
或XML
或者适合你的任何格式,但不要提出这样一种松散的数据结构。你也可以创建自己的小标准,比如Frac='%';LFrac='60';HFrac='65'
。 - Hamees A. Khan