Mysql:查找列值以特定子字符串结尾的行

Mysql:查找列值以特定子字符串结尾的行,mysql,sql,Mysql,Sql,我有一个列url,其中所有的值都是url。我正在尝试更新前面提到的url以.pdf结尾的另一列的值 有人能帮我吗?我在这里没有找到答案,所以。我可能过于简单化了。。。但根据你的描述,这能解决你的问题吗 UPDATE YourTable SET DifferentColumn = 'NewValue' WHERE Url LIKE '%.pdf' 看起来您正在寻找参数 例如: SELECT column(s) FROM table WHERE URL LIKE '%.pdf' 或者,您可以使用

我有一个列
url
,其中所有的值都是url。我正在尝试更新前面提到的url以
.pdf
结尾的另一列的值


有人能帮我吗?我在这里没有找到答案,所以。

我可能过于简单化了。。。但根据你的描述,这能解决你的问题吗

UPDATE YourTable
SET DifferentColumn = 'NewValue'
WHERE Url LIKE '%.pdf'

看起来您正在寻找参数

例如:

SELECT column(s) FROM table WHERE URL LIKE '%.pdf'
或者,您可以使用

UPDATE table SET column = value, ..., WHERE URL LIKE '%.pdf'
%就像是在.pdf出现之前说了什么


希望这有帮助。

您可以使用带前导通配符的LIKE条件
%.pdf
表示列必须以
结尾.pdf

UPDATE mytable
SET newcolumn = 'PDF found'
WHERE yourcolumn LIKE '%.pdf'
或者,您可以使用
right()
函数

UPDATE mytable
SET newcolumn = 'PDF found'
WHERE right(yourcolumn,4) = '.pdf'

在WHERE子句中,使用类似于
LOCATE('.pdf',url)>0的内容来标识感兴趣的记录

如前所述,这将为您提供字符串中包含“.pdf”的任何url

如果您确实希望“.pdf”位于末尾,您也可以尝试:

下(右(url,4))='.pdf'

我会使用LOWER或UPPER来处理任何案例问题

您也可以按照建议使用%.pdf之类的
(同样,请注意大小写问题)

其他人。

我想会的,唯一的问题是这个表很大(几百万条记录),可能需要一段时间。我希望Mysql中有一些本机字符串函数,但看起来我一直在使用这样的函数……好吧,它工作了,甚至没有花那么长时间,所以谢谢:-)如果您还试图处理4个字母或更多的扩展名,如
.jpeg
,您可以使用
right()
函数,您将无法使用
right()
方法。如果
url
具有不区分大小写的排序规则,则可以放弃使用
LOWER