web-dev-qa-db-ja.com

電話のSQL varchar(length)で考慮する必要がある世界最長の電話番号は何ですか

電話用のSQL varchar(length)で考慮する必要がある世界最長の電話番号は何ですか。

考慮事項:

  • +国コード
  • ()市外局番の場合
  • 拡張機能拡張用のx + 6の数字(8 {space}にする)
  • グループ間のスペース(つまり、アメリカの電話+ x xxx xxx xxxx = 3スペース)
  • ここに私はあなたの助けが必要です、私はそれが世界中にあることを望みます

今の私の特定のケースでは、カードなどの番号は必要ないことを考慮してください。番号は国コードで始まり、拡張子で終わり、ファックス/電話などのコメントもコーリングカードも必要ありません。

181
Shimmy

Varchar(30)とvarchar(100)にオーバーヘッドの違いがないことを十分に考慮して、それぞれに20文字しか保存していない場合は、注意して、50に設定してください。

73
cletus

「+」、「()」、「-」、スペース、お持ち帰りのようなものを保存しないと仮定します(そして、なぜそうするのか、それらはローカルの習慣やネットワークの分布に基づいて変化する表示上の問題です)とにかく)、ITU-T勧告 E.164 国際電話ネットワーク(ほとんどの国内ネットワークが接続されている)の場合、番号全体(国コードを含むが、 国際通話プレフィックス ダイヤルアウトに必要であり、国によって異なり、PBX内線番号などのサフィックスも含めて、最大で15文字

コールプレフィックスは、呼び出し先ではなく呼び出し元に依存するため、(多くの場合)電話番号と共に保存されるべきではありません。データベースに個人アドレス帳のデータが格納されている場合(この場合、国際電話プレフィックスを格納するのが理にかなっています)、処理する必要がある最長の国際プレフィックス( Wikipediaによると )は現在5桁です、フィンランド。

接尾辞については、一部のPBXは最大11桁の内線番号をサポートしています(これも Wikipediaによると )。 PBX内線番号は別のダイヤリングプランの一部であるため(PBXは電話会社の交換機とは別です)、内線番号は電話番号と区別する必要があります。行。

145
Matt Enright

GSM仕様GPP TS 11.11では、「ダイヤル番号」用にMSISDN EF(6F40)に10バイトが確保されています。これは電話番号のGSM表現であり、その使用法はニブルスワップされているため(および括弧の可能性は常にあります)、22文字のデータで十分です。

私の経験では、開き/閉じ括弧のインスタンスは1つしかありません。これが上記の理由です。

16
KevinDTimm

それは少し悪いです、私は国際電話にコーリングカードを使用しているので、米国のローカル番号+アカウント番号(6桁)+ピン(4桁)+「一時停止」+上記の内容。

他のケースがあるかもしれないと思う

10
webclimber