尝试使用TRIM或REPLACE等删除SQL字符串末尾的http://bit.ly URL。
我尝试了TRIM
,REPLACE
和其他一些人。
以下是字符串的示例:
“已向斯科特县发出洪水警告。大面积洪水或河流即将发生或发生。http://example.com/2Vzjxbe”
因此,我需要在字符串中搜索“ http”,然后从http中的“ h”中删除所有内容。因此,结果字符串将是:
“已向斯科特县发出洪水警告。大面积洪水或河流即将发生或正在发生。”
我要从outing_messages表中获取一个名为message
的变量
答案 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引用的字符串上工作。