name_
データベース内の各名前の一部を削除しようとしていますname_
が、誤って db に挿入され、現在 30 個のオブジェクト名になっています。データベースから手動で削除すると、時間がかかります。
一例は次のとおりname_john
です。である必要がありますjohn
。
name_
SQLステートメントを使用して、db内のすべてのオブジェクトのすべての名前からこれを削除するにはどうすればよいですか?
列の値の場合は、更新ステートメントで実行できます。
UPDATE table_reference
SET column_reference = SUBSTRING(column_reference, 6)
WHERE column_reference LIKE 'name\_%' ESCAPE '\'
これが変更する必要がある列の値に関するものである場合は、次のREPLACE()
ような関数を使用できます。
UPDATE tablename
SET columnname = REPLACE(columnname, 'name_', '')
WHERE columnname LIKE '%name\_%' ESCAPE '\'
;
name_
これにより、 inのすべてのエントリが削除されcolumnname
ます。エントリが 1 つしかない場合 (または 1 つだけを削除する必要がある場合) で、その位置が固定されている場合は、INSERT()
代わりに関数を使用できます。この関数は、その名前にもかかわらず、部分文字列を置換および削除することもできます。name_
の位置が例えば先頭にある場合、これを使用する方法は次のとおりです。
UPDATE tablename
SET columnname = INSERT(columnname, 1, 5, '')
WHERE columnname LIKE 'name\_%' ESCAPE '\'
;