私のMySQLテーブルでは、私は列に「Residence_Address1」と書かれています。しかし、他の列の値もあります。フィールドから電子メールIDを抽出したいと思います。mysqlに複数の単語を含むフィールドからメールを抽出します。
サンプルデータ。
例えば、
[email protected],[email protected],cityname
cityname,zipcode,[email protected]
[email protected],cityname,[email protected]
apartment,streetname,cityname,[email protected],[email protected]
私はこの方法を試してみました場合は:。
select
concat(trim(substring_index(substring_index(ResidenceAddress1, '@', '1'), ' ', -1)), '@gmail.com') as mail
,ResidenceAddress1
from mytable
1)それはこのようにデータをマージします。出力:代わり[email protected]
2の [email protected]
)はaddress.Outputと共に電子メールをフェッチ:行からapartment,streetname,cityname,[email protected]
代わりの[email protected]。
私はこのようにしました。
select concat(substring_index((substring_index(Residence_Address1, '@', 2)),'@gmail',1),'@gmail.com') as mail, residence_address1
from mytable
where Residence_Address1!="" and Residence_Address1 like '%gmail%'
1)yahoo idのようなレコードをgmail idとマージしませんでした。
2)しかし、それは電子メールIDと共に完全なアドレスを与える。
eg.streetname、cityname、gmailid。
上記の試みは、主にgmail idsを取得していました.gmail idだけを取得する代わりに、すべてのメールを1行から抽出します。メールのみ。
ありがとうございます。私の間違いを知った。 –
ああ、ヤフーIDはatyahoo.comやatyahoo.co.inのようにレコードからヤフーIDを抽出すると機能しません。ここでは、.comまたは.co.inの場合でも、.comにすべてのIDを付加しています。 –
@iks_in私は自分の答えを更新しました。それを確認してください。 – Blank