17

MySqlデータベースのフィールドの最後からいくつかの文字を削除する方法を探しています。

「items」というテーブルがあり、「descriptions」というフィールドがあるとします。これらの説明の一部には、最後に<br>が付いています。ケースが1つある場合もあれば、そのフィールドの最後に2〜3個の<br>がある場合もあります。

これらの<br>を削除する方法をPHP/MySqlで見つける必要があります。説明に他の<br>が含まれている可能性がありますが、これは最後に削除する必要があるものだけです。

私はすべてのエントリをループし、最後にそのタグをチェックし、存在する場合はそれを取り除き、DBを新しい値で更新できることを知っています。しかし、これはそれを行うには長い道のりのようであり、私がやろうとしていることを最もよく達成する方法がわかりません。

4

3 に答える 3

30

テストするmysqlインスタンスはありませんが、次のようなものでおそらく実行できます。

UPDATE myTable
  SET myCol = TRIM(TRAILING '<br>' FROM myCol);

文字列関数のいくつかを見てください。

于 2012-04-10T03:22:39.997 に答える
10

mysqlでTRIM関数を使用できます。

UPDATE items SET descriptions = TRIM(TRAILING "<br>" FROM descriptions)

TRIMの使用法はこちらです。

于 2012-04-10T03:23:00.120 に答える
2

SUBSTRINGとLENGTHを使用して、フィールドをトリミングします。何かのようなもの

UPDATE MyTable SET MyField=SUBSTRING(MyField,1,LENGTH(MyField)-4)
WHERE MyField LIKE '%<br>'
于 2012-04-10T03:24:14.160 に答える