LoginSignup
0
0

More than 3 years have passed since last update.

mysqlでメールアドレスのドメイン部分だけを取得するor書き換える方法

Posted at

ドメイン部分を取得する

以下のSQLでメールアドレスのドメイン部分だけの一覧を取得することが出来ます。

select right(email, char_length(email) - instr(email, '@')) from users;

解説

right

文字列を右から指定した文字数だけ取得します。

char_length

文字列の長さを取得します。

instr

最初に指定の文字が出現する位置を返します。

全体で 

メールアドレスを(文字数の全体 - @が表示される位置)の文字数右から取る。というロジックです。

メールアドレスを書き換える場合

以下のようにすることでメールアドレスのドメインを特定のドメインに一括で書き換えることが出来ます。

update users set email = concat(left(email, INSTR(email, '@')), 'macloud.jp') where 'email' not like '%@macloud.jp'
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0