首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sql字符串函数

Sql字符串函数
EN

Stack Overflow用户
提问于 2011-02-16 13:47:54
回答 2查看 424关注 0票数 1

需要帮助来做一个简单的任务在sql字符串在我的表中有一个字段注释(用户注释)。

在我的过程中,我传递了一个参数@input。我想检查字符串是否包含字符串@input,如果包含@input,则向子字符串添加一些样式(与@input相同)。

例如:如果注释字符串-“我已经添加了用户测试用户”和

代码语言:javascript
复制
@input - "tes"

我希望输出结果为

代码语言:javascript
复制
i have added the user <span style="color:red">Tes</span>t user
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-16 13:59:09

使用T-SQL (Microsoft SQL)

代码语言:javascript
复制
SELECT REPLACE(comment, @input, '<span style="color:red">' + SUBSTRING(comment, PATINDEX('%' + @input + '%', comment), len(@input)) + '</span>') as cmt
FROM thetable
WHERE comment LIKE '%' + @input + '%'

编辑:可以,甚至更丑陋,仍然没有测试,但应该为你工作。现在,我们正在将字符串中的确切文本替换回replace。

更新:我刚刚测试了这段代码,它可以按照你的需要工作。它使用'tes'在字符串中查找Tes,并输出原始字符串中的Tes

票数 1
EN

Stack Overflow用户

发布于 2011-02-16 13:54:27

代码语言:javascript
复制
select comment from table where comment like '%' + @input + '%'

与关系型数据库无关,其它关系型数据库(SQLserver、Oracle、Mysql)中都有LIKE。具体地说,我的答案是假设您的数据库是Sql server,因为我注意到了@的使用

编辑:要获得<span>标记,我认为您可能必须使用正则表达式来将输出结果中的输入字符串替换为<span>标记。更好的做法是在底层代码中完成,而不是通过格式从SQL查询中获取结果。在SQL server中,您也可以使用REPLACE函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5012940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档