需要帮助来做一个简单的任务在sql字符串在我的表中有一个字段注释(用户注释)。
在我的过程中,我传递了一个参数@input。我想检查字符串是否包含字符串@input,如果包含@input,则向子字符串添加一些样式(与@input相同)。
例如:如果注释字符串-“我已经添加了用户测试用户”和
@input - "tes"我希望输出结果为
i have added the user <span style="color:red">Tes</span>t user发布于 2011-02-16 13:59:09
使用T-SQL (Microsoft SQL)
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。
发布于 2011-02-16 13:54:27
select comment from table where comment like '%' + @input + '%'与关系型数据库无关,其它关系型数据库(SQLserver、Oracle、Mysql)中都有LIKE。具体地说,我的答案是假设您的数据库是Sql server,因为我注意到了@的使用
编辑:要获得<span>标记,我认为您可能必须使用正则表达式来将输出结果中的输入字符串替换为<span>标记。更好的做法是在底层代码中完成,而不是通过格式从SQL查询中获取结果。在SQL server中,您也可以使用REPLACE函数。
https://stackoverflow.com/questions/5012940
复制相似问题