21

urlすべての値が URL である列があります。前述の URL が で終わる別の列の値を更新しようとしています.pdf

誰でもこれで私を助けることができますか?ここSOで答えが見つかりませんでした。

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」を含むURLが提供されます...

間違いなく「.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 に答える