9

交換が必要な不正なタグがいくつかあるテーブルがあります

問題のある文字列は終了<tr>しており、次の文字列に置き換える必要があります</table>

すべてのレコードが影響を受けるわけではないため、これらを見つけて置き換える必要があります

Update Replace Where を使用する私たちのスキルは、文字が文字列内で一意ではないため制限されていますが、その位置は、つまり最後の 4 文字です。

使ってみた

UPDATE table
SET field
REPLACE (RIGHT(field,4),</table>)

しかし、これは単純化しすぎていると思われます(そして失敗します)

4

2 に答える 2

20

これを試して:

UPDATE table
SET field=concat(left(field,length(field) -4),'</table>')
于 2012-08-10T09:41:13.107 に答える
2

transactionフィールド内に複数回出現する数値フィールドの末尾から「_」を置き換える必要がある同様の状況があり_ました。例: 20161124_C_BGN_5570.77_ & 20161121_C_HRK_1502360000__

解決:

UPDATE temp 
SET transaction = LEFT(transaction, LENGTH(transaction) -1) 
WHERE RIGHT(transaction, 1) = '_';

// 二重下線 (__) の場合

UPDATE temp 
SET transaction = LEFT(transaction, LENGTH(transaction) -2) # WHERE id = xxx WHERE RIGHT(transaction, 2) = '__';
于 2016-11-25T13:48:05.090 に答える