ホームページ > データベース > mysql チュートリアル > MySQL の文字列から名、ミドルネーム、姓を抽出するにはどうすればよいですか?

MySQL の文字列から名、ミドルネーム、姓を抽出するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-19 15:42:08
オリジナル
933 人が閲覧しました

How to Extract First, Middle, and Last Names from a String in MySQL?

MySQL の文字列フィールドから名、ミドルネーム、姓を抽出します

名前文字列を名、ミドルネーム、姓に分割することは、データ処理における一般的なタスクです。 MySQL は、この目的のためにさまざまな機能を提供します。

方法 1: 名、ミドルネーム、姓を分けます

このメソッドは、SUBSTRING_INDEX 関数と LENGTH 関数を利用して名前の各部分を抽出します。

<code class="language-sql">SELECT
   SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name,
   IF(LENGTH(fullname) - LENGTH(REPLACE(fullname, ' ', '')) > 1,
       SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 2), ' ', -1), NULL)
       AS middle_name,
   SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 3), ' ', -1) AS last_name
FROM registeredusers;</code>
ログイン後にコピー

説明:

  • SUBSTRING_INDEX(fullname, ' ', 1) 最初のスペースまでの文字列の部分を抽出します。
  • SUBSTRING_INDEX(..., ' ', -1) この文字列から最後の要素を取得し、名前を指定します。
  • IF 文字列に複数のスペースが含まれているかどうかを確認します (ミドルネームの存在を示します)。
  • SUBSTRING_INDEX(..., ' ', 2) 次に、ミドルネームと姓を含む部分を分離します。
  • SUBSTRING_INDEX(..., ' ', -1) 文字列の最後の部分を抽出して姓を提供します。

方法 2: 名と姓を分ける

ミドルネームが姓の一部とみなされる場合は、次の方法を使用できます:

<code class="language-sql">SELECT
   SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name,
    TRIM(SUBSTR(fullname, LOCATE(' ', fullname))) AS last_name
FROM registeredusers;</code>
ログイン後にコピー

説明:

  • SUBSTRING_INDEX(fullname, ' ', 1) 最初のスペースまでの文字列の部分を抽出し、名前を提供します。
  • LOCATE(' ', fullname) 最初のスペースの位置を見つけます。
  • LOCATE で始まる
  • SUBSTR(fullname, ...) は、ミドルネームとラストネームを含む残りの文字列を取得します。
  • TRIM 先頭または末尾のスペースを削除します。

以上がMySQL の文字列から名、ミドルネーム、姓を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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