因此,我在atm上班,我有一位同事为我创建了一些SQL代码,以便从较大的描述字段中提取文本。我遇到的问题是它不会停止提取我需要的位置。在它看到“ Specifications:”一词或发现两个CRLF背对背时,我需要停止它。这将允许它仅获取我正在尝试的“功能”。
这是当前代码的示例:
SELECT IN_Desc, Replace(IN_Desc, Left(IN_Desc, InStr(IN_Desc, "- ") - 1), "")
FROM Inventory
WHERE IN_MfgName = "BERK"
下面是正在浏览的文字的示例:
Gu!具有比普通塑料诱饵高400倍的气味分散能力。 极高的气味分散度极大地扩展了打击区域,使 你钓到更多的鱼!更令人印象深刻的自然配方 Gulp!在现场测试中找出鱼的活饵。伯克利 lp!确实是下一代软饵!
功能:
- 理想的跳汰机或拖车
- 在针对大型鱼类时,最喜欢所有SW物种
- 经过验证的尾部动作设计可以在所有条件下畅游
- 与塑料诱饵相比,气味扩散区扩大了您的打击区域400倍
- 15年的Gulp!进化……最好的不断进步
规格:
- 诱饵长度:6英寸
- 颜色:白色
- 数量:每4
- 包装:袋子
所需的输出:
- 理想的跳汰机或拖车
- 在针对大型鱼类时,最喜欢所有SW物种
- 经过验证的尾部动作设计可以在所有条件下畅游
- 与塑料诱饵相比,气味扩散区扩大了您的打击区域400倍
- 15年的Gulp!进化……最好的不断进步
在此先感谢大家提供的所有帮助。
答案 0 :(得分:2)
这有点丑陋,但似乎可以解决问题。可能需要进行一些调整才能准确获得所需的内容,但这将使功能与下一个双回车符/换行符之间的所有内容均得到补偿:
Mid(yourfield,InStr(1,yourfield, "Features:")+Len("Features: "),InStr(InStr(1,yourfield, "Features:")+Len("Features: "),yourfield, Chr(13) & Chr(10) & Chr(13) & Chr(10)))
我敢肯定,它可以写得更漂亮,但是我的访问就像地狱一样生疏。我觉得VBA UDF会干净很多,然后您可以使用正则表达式将其真正剥离。