MySQLで文字列から数字を抽出する方法


  1. REGEXP_SUBSTR関数を使用する方法: REGEXP_SUBSTR関数を使うと、正規表現パターンに基づいて文字列から数字を抽出することができます。以下は使用例です。
SELECT REGEXP_SUBSTR(column_name, '[0-9]+') AS extracted_number
FROM table_name;

この例では、column_nameという列から数字の部分を抽出しています。正規表現パターン[0-9]+は、1つ以上の数字にマッチします。

  1. SUBSTRING関数とCAST関数を使用する方法: SUBSTRING関数とCAST関数を組み合わせることで、文字列から数字を抽出することもできます。以下は使用例です。
SELECT CAST(SUBSTRING(column_name, LOCATE(' ', column_name)) AS UNSIGNED) AS extracted_number
FROM table_name;

この例では、column_nameという列から最初のスペースの後に出現する数字を抽出しています。SUBSTRING関数でスペースの位置を見つけ、その後の部分を抽出し、CAST関数で文字列を数値に変換しています。

  1. 正規表現を使用して数字以外の文字を削除する方法: 正規表現を使って数字以外の文字を削除することもできます。以下は使用例です。
SELECT REGEXP_REPLACE(column_name, '[^0-9]', '') AS extracted_number
FROM table_name;

この例では、column_nameという列から数字以外の文字を削除しています。正規表現パターン[^0-9]は、数字以外の文字にマッチします。REGEXP_REPLACE関数でマッチした部分を空文字列に置換しています。

これらの方法を使って、MySQLで文字列から数字を抽出することができます。ご参考までにお使いください。