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"这个词,这可能就足够了。

非常感谢您的回答:(

在SQL SERVER中,有一个函数CHARINDEX((可以帮助您。

Select movie from db_Movie where CHARINDEX('dark',movie) <> 0

尝试以下查询-:

select case when movie like '%knight%' then 
replace(movie,'knight','') else movie end as movie 
FROM db_movie

SQL Server

尝试以下查询-:

SELECT CASE WHEN MOVIE LIKE '%KNIGHT%' THEN 
REPLACE(MOVIE,'KNIGHT','') ELSE MOVIE END AS MOVIE 
FROM DB_MOVIE

SQL服务器

最新更新