我正在尝试使用sql请求进行替换,但是我还需要在替换请求中使用匹配模式。
我们假设我有一个数据库,其中有一部专栏电影和三个字段:“蝙蝠侠开始”,“黑暗骑士”,“黑暗骑士崛起”。
我的请求将如下所示:
SELECT replace(movie, 'kn%t','') as movie FROM db_movie;
或类似的东西:
SELECT replace(movie, movie like ('kn%t'),'') as movie FROM db_movie;
我应该得到以下输出:
(“蝙蝠侠开始”,“黑暗”,“黑暗崛起”)
但是我不工作,所以您知道我该怎么做吗?
我真正的要求是使用'%'匹配模式,而不仅仅是直接写“ knight”一词来满足该示例要求。
非常感谢您的回答:)
答案 0 :(得分:1)
在SQL SERVER中,有一个函数CHARINDEX()将为您提供帮助。
Select movie from db_Movie where CHARINDEX('dark',movie) <> 0
答案 1 :(得分:1)
尝试以下查询-:
select case when movie like '%knight%' then
replace(movie,'knight','') else movie end as movie
FROM db_movie
SQL Server
答案 2 :(得分:1)
尝试以下查询-:
SELECT CASE WHEN MOVIE LIKE '%KNIGHT%' THEN
REPLACE(MOVIE,'KNIGHT','') ELSE MOVIE END AS MOVIE
FROM DB_MOVIE
SQL SERVER