字符串函数左1000,但只到最后一个句点或回车

pix*_*985 2 sql-server sql-server-2012

我有文本块,长度在 500 到 2000 个字符之间。

我需要能够做的是从描述中最多提取 1000 个字符,但仅限于最后一个句号或回车符(Char(13)),这样文本就不会在句子中间被截断。如果同时有句号和 Char(13),我希望它在句号处关闭。

我正在粘贴一些随机生成的文本以尝试显示我的意思。

*打开包装友好欣喜若狂所以可能幽默。充足的结束可能会愚蠢地安静一组说她。我们不是前谷的保证。四需要现场咋说我们找哩。被命令他确信达斯伍德确实没收了。害羞庆祝她合理但遇到的情绪。建议其处理好婚前社交。图纸导致最大的添加主题努力同性恋记住。原则一但您遇到的帮助是不可能的。谁到达结束如何肥沃启用。哥哥她加了还见分毫自然的微笑条画。自己在出动兴趣昏迷不觉兴旺吧。她喧闹的用她不一样的友情表达。性生活迅速兴起。先生的事情做很多其他虚荣自己等待。总是教区品味,就像父亲先生用餐一样。

或者在主要地址中什么都不是。其使直人高度依赖。火腿窗十六问命问。是在唱喜欢必须显示。真男孩法县她无法她的妹妹。像六点一样让你离开。其中性是现在建立的休假法。在快速脸红的内置表中。功过就怕或热情落后。在任何这样的春天希望。忧郁的方式留言*

我希望能够将所有文本返回到“主要地址”。(990 个字符)。

Rob*_*ley 5

编辑:这是为了解决早期版本而发布的。

剩下的1000个字符很容易。

然后在左边的 1000 的反面找到第一个周期。这就是你应该从原来的 1000 中减去多少。

喜欢:

LEFT(@s, 
    1001-
    CHARINDEX('.', 
        REVERSE(LEFT(@s,1000))
    )
)
Run Code Online (Sandbox Code Playgroud)

...我认为 - 如果它擦除了句点或留下了空间,您可能需要在某处添加一个。