226

電話の SQL で考慮すべき、世界で最も長い電話番号は何ですかvarchar(length)

考慮事項:

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

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

4

5 に答える 5

187

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

呼び出しプレフィックスは、呼び出し先ではなく呼び出し元に依存するため、(多くの場合) 電話番号と共に保存しないでください。データベースに個人アドレス帳のデータが保存されている場合 (この場合、国際電話のプレフィックスを保存することは理にかなっています)、対処しなければならない最長の国際プレフィックス (ウィキペディアによると) は現在、フィンランドでは 5 桁です。

サフィックスに関しては、一部の PBX は最大 11 桁の内線番号をサポートしています (これもウィキペディアによると)。PBX 内線番号は別のダイヤル プランの一部であるため (PBX は電話会社の交換機とは別のものです)、内線番号は区切り文字を使用するか別の列に格納することにより、電話番号と区別できる必要があります。

于 2011-01-18T21:26:50.013 に答える
94

varchar(30) と varchar(100) の間にオーバーヘッドの違いがないことを考えると、それぞれに 20 文字しか格納していない場合は、注意を怠って 50 にしてください。

于 2009-04-06T23:13:25.600 に答える
18

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

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

于 2009-04-07T00:47:03.800 に答える
11

少し悪いことに、私は国際電話にコーリングカードを使用しているため、米国内のローカル番号 + アカウント番号 (6 桁) + PIN (4 桁) + 「一時停止」 + 上記で説明したもの.

他のケースもあると思います

于 2009-04-06T23:11:05.853 に答える