web-dev-qa-db-ja.com

携帯電話番号をデータベースにどのように保存しますか?

テキストメッセージなどの時代に、電話番号をデータベースに保存する良い方法は何ですか?

アメリカではテキストメッセージは電話番号で処理されていますが、他の国ではメールアドレスを使っているそうですので、携帯電話番号を使っている国を区別する方法が必要だと思います。

追加:たとえば、米国の人々は432-342-3333または1-432-342-3333を使用し、英国の人々は+44 800 400000を使用するか、44を省略します。44と1はSMSを自動的に送信するときの違い。ただし、各国の電話番号を確認するのは面倒です。この場合、国コードを分割しますか、それとも1つの列にマージして、そこで処理しますか?

18
danmine

次の理由で電話番号を使用している場合でも、主にテキストフィールドまたは一連のテキストフィールドを使用します。

  1. 電話番号には、数値列の精度が低下する可能性のある内線番号など、さまざまな値があります。
  2. 電話番号の精度を失うことはかなり悪いことです。
  3. 電話番号に対して数学(加算/乗算)を実行する論理的な理由はありません。

さらに、このデータの使用方法を指定することもできます。自動メッセージングサービスを計画している場合は、ブロードキャストするための一連のリレーエージェントが必要になるため、情報が関係するリレーに関係する識別子を追加することもできます。次に、心配する必要があるのは、中継エージェントがテキストフィールドの内容を理解できることだけです。

28
Kent Fredric

一般に、テキストとして、他の方法では区別できないさまざまな国の数値を解析する必要がない限り、すべての凝ったフォーマットは必要ありません。後でいつでもフォーマットを追加できます。

数ではありません!!!先行ゼロは問題になる可能性があります。

14
vfilby

これらの2つの質問を読んだかどうかはわかりませんが、少し役立つかもしれません。

おそらく、番号のタイプ(固定電話、携帯電話、ファックス)および/またはその番号で受信できるメッセージ(音声、テキスト、電子メール)を保存するのが賢明でしょう。米国では、テキストメッセージを電子メールで電話に送信することも可能ですが、それは携帯電話会社に依存していると思います。

6
Thomas Owens