Какой самый длинный по всему миру номер телефона, который я должен рассмотреть в SQL varchar (длина) для телефона

Какой самый длинный по всему миру номер телефона, который я должен рассмотреть в SQL varchar(length) для телефона.

соображения:

  • + для кода страны
  • () для кода области
  • x + 6 номеров для расширения внутренней линии (поэтому сделайте это 8 {пробел})
  • пробелы между группами (т.е. в американских телефонах + x xxx xxx xxxx = 3 пробела)
  • Вот где мне нужна ваша помощь, я хочу, чтобы она была во всем мире.

Учтите, что в моем конкретном случае я не нуждаюсь в карточках и т.д. номер начинается с кода страны и заканчивается расширением, комментариями Факс/Телефон и т.д., а также необходимости использования необходимых карточек.

Ответ 1

Хорошо, учитывая, что нет разницы в служебных данных между varchar (30) и varchar (100), если вы только сохраняете по 20 символов в каждом, ошибайтесь на стороне осторожности и просто делайте 50.

Ответ 2

Предполагая, что вы не храните такие вещи, как "+", "()", "-", "пробелы" и "что у вас есть" (и почему бы вам, они представляют собой озабоченности, которые могут варьироваться в зависимости от локальных обычаев и сетевые распределения в любом случае), рекомендация МСЭ-Т E.164 для международной телефонной сети (к которой подключены большинство национальных сетей) указывает, что целое число (включая код страны, но не включая префиксы, такие как международный телефонный префикс, необходимый для набора номера, который варьируется от страны к стране, суффиксы, такие как внутренние номера УАТС) не более 15 символов.

Префиксы вызовов зависят от вызывающего, а не от вызываемого абонента, и, следовательно, не должны (во многих случаях) храниться с номером телефона. Если база данных хранит данные для личной адресной книги (в этом случае имеет смысл хранить префикс международного вызова), самые длинные международные префиксы, с которыми вам придется иметь дело (согласно Википедии) в настоящее время составляют 5 цифр, в Финляндии.

Как и для суффиксов, некоторые УАТС поддерживают до 11-значных расширений (опять же, согласно Wikipedia). Поскольку внутренние номера УАТС являются частью другого плана набора номера (УАТС отделены от телефонных компаний), номера внутренних номеров необходимо отличать от телефонных номеров либо с разделительным символом, либо путем хранения их в другом столбце.

Ответ 3

В спецификации GSM 3GPP TS 11.11 в MSISDN EF (6F40) имеется 10 байтов для "номера набора". Поскольку это GSM-номер номера телефона, и его использование заменяется на nibble (и всегда есть возможность круглых скобок), 22 символа данных должны быть достаточно.

По моему опыту, есть только один экземпляр круглых скобок открытия/закрытия, вот почему я рассуждал выше.

Ответ 4

Немного хуже, я использую телефонную карточку для международных звонков, поэтому ее локальный номер в US + account # (6 цифр) + pin (4 цифры) + "пауза" + то, что вы описали выше.

Я подозреваю, что могут быть и другие случаи