ホームページ > データベース > mysql チュートリアル > SQL で複数の値を含む 1 つの列を別の列に分割するにはどうすればよいですか?

SQL で複数の値を含む 1 つの列を別の列に分割するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-13 07:18:45
オリジナル
270 人が閲覧しました

How Can I Split a Single Column of Multiple Values into Separate Columns in SQL?

SQL で複数の値を持つ単一の列を個別の列に変換する

SQL データの操作には、多くの場合、列の再構築が必要になります。 一般的なタスクの 1 つは、複数の値を含む単一の列を個別の列に分割することです。 これを実現する方法は次のとおりです:

次の SQL クエリは、CASE ステートメントと文字列関数を使用して、姓名を含む「name」という名前の列を解析します。

<code class="language-sql">SELECT
  CASE
    WHEN name LIKE '% %' THEN SUBSTRING(name, 1, CHARINDEX(' ', name) - 1)
    ELSE name
  END AS first_name,
  CASE
    WHEN name LIKE '% %' THEN SUBSTRING(name, CHARINDEX(' ', name) + 1, LEN(name))
    ELSE NULL
  END AS last_name
FROM
  YourTable;</code>
ログイン後にコピー

このアプローチでは、name を使用して LIKE '% %' 列にスペースが含まれているかどうかを確認します。スペースが存在する場合、SUBSTRING 関数と CHARINDEX 関数はスペースの前後のテキストをそれぞれ first_namelast_name に抽出します。 スペースが見つからない場合は、name 全体が first_name に割り当てられ、last_nameNULL に設定されます。

このソリューションは、多くの一般的なシナリオに実用的なアプローチを提供しますが、より複雑な状況では、より高度な文字列操作技術が必要になる場合があります。

以上がSQL で複数の値を含む 1 つの列を別の列に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート