Gmail アドレスの場合、ピリオドを複数含む場合も、同一ユーザーとして扱われる。
https://support.google.com/mail/answer/7436150
上記サイトに記載の通り、以下のメールアドレスが同一ユーザーとなる。
- johnsmith@gmail.com
- john.smith@gmail.com
- jo.hn.sm.ith@gmail.com
- j.o.h.n.s.m.i.t.h@gmail.com
今回は、SQL Serverで、上記メールアドレスを全て一括検索できるSQLを作成してみたので、その手順を共有する。
前提条件
下記記事の「前提条件」の内容が完了していること。

Spring BootでSQL Serverに接続しMyBatisを利用してみた今回は、Spring Bootアプリケーションで接続するデータベースをSQL Serverに変更してみたので、そのサンプルプログラムを共...
ピリオドを複数含む同一ユーザーの検索
ピリオドを複数含む同一ユーザーの検索を行った結果は、以下の通り。
1) 以下のデータがある状態からスタートする。
SELECT * FROM user_data ORDER BY id ASC


2) 以下のように、memo欄のメールアドレスのピリオドを除去すると、ピリオドを複数含む同一ユーザーが全て「johnsmith@gmailcom」であることが確認できる。
SELECT id, name, birth_year, birth_month, birth_day , sex, REPLACE(memo, '.', '') AS memo FROM user_data ORDER BY id ASC

3) 2)の結果を利用すると、以下のSQLにより、ピリオドを複数含む同一ユーザーのGメールを検索できる。
SELECT * FROM user_data WHERE REPLACE(memo, '.', '') = 'johnsmith@gmailcom' ORDER BY id ASC

要点まとめ
- Gmail アドレスの場合、ピリオドを複数含む場合も、同一ユーザーとして扱われる。
- ピリオドを複数含む同一ユーザーの検索は、REPLACE関数を利用して、メールアドレスのピリオドを除去することで行える。