SQL-如何使用带有替换的LIKE匹配模式?

时间:2018-08-07 08:42:54

标签: sql replace sql-like

我正在尝试使用sql请求进行替换,但是我还需要在替换请求中使用匹配模式。

我们假设我有一个数据库,其中有一部专栏电影和三个字段:“蝙蝠侠开始”,“黑暗骑士”,“黑暗骑士崛起”。

我的请求将如下所示:

SELECT replace(movie, 'kn%t','') as movie FROM db_movie;

或类似的东西:

SELECT replace(movie, movie like ('kn%t'),'') as movie FROM db_movie;

我应该得到以下输出:

(“蝙蝠侠开始”,“黑暗”,“黑暗崛起”)

但是我不工作,所以您知道我该怎么做吗?

我真正的要求是使用'%'匹配模式,而不仅仅是直接写“ knight”一词来满足该示例要求。

非常感谢您的回答:)

3 个答案:

答案 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