21

我有一列url,其中所有值都是 url。我正在尝试更新不同列的值,只要上述 url 以.pdf.

谁能帮我这个?我还没有在这里找到答案。

4

4 回答 4

38

我可能过于简单了......但根据你的描述,会LIKE解决你的问题吗?

UPDATE YourTable
SET DifferentColumn = 'NewValue'
WHERE Url LIKE '%.pdf'
于 2013-03-11T18:06:13.850 回答
9

您可以使用带有前导通配符的 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'
于 2013-03-11T18:06:39.977 回答
4

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

正如所指出的,这将为您提供字符串中包含“.pdf”的任何网址...

如果您绝对希望“.pdf”在最后,您也可以尝试:

LOWER(RIGHT(url,4)) = '.pdf'

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

您也可以LIKE %.pdf按照其他人的建议使用(再次注意大写/小写问题)。

于 2013-03-11T18:07:40.660 回答
1

所以看起来你正在寻找like参数。

例如:

SELECT column(s) FROM table WHERE URL LIKE '%.pdf'

或者你可以更新

UPDATE table SET column = value, ..., WHERE URL LIKE '%.pdf'

% 就像在 .pdf 是 htis 案例之前说什么。

希望这可以帮助。

于 2013-03-11T18:06:33.137 回答