私は「スプリット」区切りの文字列をする必要がある場合、私はおそらく気の利いたSUBSTRING_INDEX
機能を利用すると思います。しかし、知っておくべきいくつかの欠点があります。
私が取るアプローチは、必ず最初にSELECT文を書くことです。これには、別の列に代入したい "分離された"値を返すSELECTリストの式も含まれます。私はUPDATE文を書く前に、SELECT文を使ってこれらの式をテストしました。
SELECT t.id
, t.column_i_want_to_split
, expr1
FROM mytable t
ORDER BY t.id
特定の例をテストするために、私は表現(s)は、私は別の列に割り当てる値を返すがあったら、私は思いますインライン・ビューの使用
SELECT t.id
, t.note
, t.val
, expr1
FROM (SELECT 1 AS id, 'empty string test' AS note, '' AS val
UNION ALL SELECT 2, 'null', NULL
UNION ALL SELECT 3, 'one space', ' '
UNION ALL SELECT 4, 'four spaces', ' '
UNION ALL SELECT 5, 'test5', ' abc def '
UNION ALL SELECT 6, 'test6', 'g hi kl m'
) t
ORDER BY t.id
を作ると思いますSELECTをUPDATEステートメントに変換します。すべての行を処理するには、WHERE句を省略します。あなたが達成しようとしているかのより多くの決定的な仕様なし
UPDATE mytable t
SET t.another_column = expr1
、または少なくともいくつかの具体例、私たちは推測しています。問題の一般的な説明だけを考えると、私たちが提供できるものは一般的なアドバイスです。
質問を編集し、サンプルデータと希望する結果を提供してください。 –