尝试删除SQL字符串末尾的bit.ly URL

时间:2019-05-17 17:23:57

标签: sql sql-server coldfusion

尝试使用TRIM或REPLACE等删除SQL字符串末尾的http://bit.ly URL。

我尝试了TRIMREPLACE和其他一些人。

以下是字符串的示例:

  

“已向斯科特县发出洪水警告。大面积洪水或河流即将发生或发生。http://example.com/2Vzjxbe

因此,我需要在字符串中搜索“ http”,然后从http中的“ h”中删除所有内容。因此,结果字符串将是:

  

“已向斯科特县发出洪水警告。大面积洪水或河流即将发生或正在发生。”

我要从outing_messages表中获取一个名为message的变量

3 个答案:

答案 0 :(得分:3)

如果URL始终位于字符串的结尾,并且您不想更改查询,则可以使用正则表达式替换来创建新的字符串

FuzzyQuery

如果URL并非始终位于字符串的末尾,则可能会比较棘手,因为对于URL中包含哪些字符以及与之相对应的文本存在一些歧义。这是一个合理的示例,您可以调整被认为是url一部分的字符(注意:如果简化的url如来自bit.ly,则更容易)

<cfset stringWithoutLink = reReplaceNoCase(string, "\s*https?://.+$", "", "all") />

答案 1 :(得分:1)

您可以将left()charindex()结合使用:

select left(col, charindex('http://', col + 'http://') - 1)
from table t;

答案 2 :(得分:1)

您可以使用字符串操作-left()charindex()

select left(str, charindex('http://', str + 'http://') - 1)
from (values ('A FLOOD WARNING has been issued for Scott County. Flooding over a large area or river is imminent or occurring. http://URL.com/2Vzjxbe')) v(str)

请注意,这会将'http://'添加到要搜索的字符串中。该代码将在没有URL引用的字符串上工作。