我有一个列url
,其中所有值都是网址。我正在尝试更新不同列的值 - 前面提到的url以.pdf
结尾。
任何人都可以帮我吗?我在SO上找不到答案。
答案 0 :(得分:25)
我可能过于简单了...但根据您的描述,LIKE
会解决您的问题吗?
UPDATE YourTable
SET DifferentColumn = 'NewValue'
WHERE Url LIKE '%.pdf'
答案 1 :(得分:7)
您可以将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'
答案 2 :(得分:2)
在WHERE子句中,使用LOCATE('.pdf',url) > 0
之类的内容来识别感兴趣的记录。
正如所指出的,这将为您提供字符串中包含'.pdf'的任何URL ...
如果你肯定希望'.pdf'在最后,你也可以尝试:
LOWER(RIGHT(url,4)) = '.pdf'
我会使用LOWER或UPPER来处理任何案件问题。
您也可以按照建议使用LIKE %.pdf
(再次注意大/小写问题)
由其他人。
答案 3 :(得分:0)
所以看起来你正在寻找like参数。
例如:
SELECT column(s) FROM table WHERE URL LIKE '%.pdf'
或者您可以使用
进行更新UPDATE table SET column = value, ..., WHERE URL LIKE '%.pdf'
在.pdf是htis案例之前,%就像说什么。
希望这有帮助。