SQLで文字の一部分を置き換えて表示する方法
あくまでも例ですが・・
よくテストデータを作成する時に、
- ドメインは残しておきたい
- でも@より前のアカウントはマスキングしたい
なんていうリクエスト結構ないですかね?昔、ガラケーなのではあったのですが、今そんなにそんなリクエストないのかな? なんて思いつつ、ドメインは残しつつ、アカウントをマスクするSQLのサンプルを作ってみました。
SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)
- 作者: ミック
- 出版社/メーカー: 技術評論社
- 発売日: 2015/04/11
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
【改訂第3版】 SQLポケットリファレンス (POCKET REFERENCE)
- 作者: 朝井淳
- 出版社/メーカー: 技術評論社
- 発売日: 2009/04/29
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 117回
- この商品を含むブログ (17件) を見る
- サンプルSQL
あくまでもサンプルですw @MAILという変数を使ってやってみましたが、実際は、100万件とかあるデータでやるものなので、変数なんて使うことはありませんのでご安心ください
set @MAIL = 'hit@abc.def.com' ; select replace(@MAIL,left(@MAIL,instr(@MAIL,'@')- 1),'秘密') as mail ;
- 結果
+--------------------+ | mail | +--------------------+ | 秘密@abc.def.com | +--------------------+