- PR -

初歩的なことですが、教えてください><;

投稿者投稿内容
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-01-10 21:28
メンテ用のコードなら、
複雑より、単純なものの方が良いかなと思います。
少々冗長になりますが、

XXX-XXX-XXXX用
XX-XXXX-XXXX用
XXXX-XX-XXXX用
XXXXX-X-XXXX用

等と、複数回クエリを実行してはいかがでしょうか。
現在の電話番号なら、パターンは有限ですし、
メンテナンス用と割り切るなら充分だと思います。
Ypoons
会議室デビュー日: 2006/01/10
投稿数: 2
投稿日時: 2006-01-11 17:54
引用:


でも、−が入る位置が決まっていなくて

○○○−○○○−○○○○
もあれば、
○○−○○○○−○○○○
もあり、
○○○○−○○○−○○○
の場合もあるため、どうしても−の位置は文字列操作だけでは不可能だと思うのですが。。。



パターンの数だけ、アップデート文が必要になりますが、

where で like と '_' 任意の文字列1文字にマッチを利用すれば、
対応可能と思われます。


where 電話番号 like '___-___-____'
where 電話番号 like '__-____-____'
where 電話番号 like '____-___-___'
とんくま
ベテラン
会議室デビュー日: 2005/08/02
投稿数: 56
お住まい・勤務地: 東京
投稿日時: 2006-01-11 19:59
DB2です。
コード:
------------------------------ Commands Entered ------------------------------
SELECT SUBSTR(INSERT(INSERT(会員番号||会員番号, POSSTR(電話番号,'-'), 0, '-')
                     , LOCATE('-',電話番号,POSSTR(電話番号,'-')+1) ,0, '-')
              , 1, 12)
  FROM (VALUES ('12345678', '075-111-1111')) Q (会員番号,電話番号);
------------------------------------------------------------------------------

1           
------------
123-456-7812

  1 record(s) selected.




甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-01-11 20:14
引用:

すぎぼーさんの書き込み (2006-01-10 17:08) より:
条件:電話番号の数字部分を会員番号で順次置き換える。

例:会員番号 12345678
  電話番号 075−111−1111
   ↓
  マスク後 123−456−7812


仕様に関する素朴な疑問なんですが・・・これって問題ありません?

会員番号と電話番号の組み合わせによっては、実在する他人の電話番号を示しますよね。これを外部に出すと、実在する他人に迷惑をかける結果ると思うのですけど。電話番号を伏せたいだけなら、素直に*等に置き換える訳には行かないのでしょうか?

電話番号の中に会員番号をさらしている訳で、この電話番号を外部に出すと会員番号がわかってしまいますよね。これが会員番号を示すと気づかずに、外部に出して問題を起こしそうな気もします。
_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2006-01-12 09:22
ユニークな会員番号は個人情報となりますからね。
法的にはマスクとしての役割は果たしませんね。

スキルアップ/キャリアアップ(JOB@IT)