我试图用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服务器