Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проблема с выводом телефонного номера  [new]
Корниенко Василий
Member

Откуда:
Сообщений: 30
Здравствуйте.
Возникла проблема с выводом телефонного номера. Раньше была необходимость выводить телефоны только российских операторов связи, было определённое поле для телефона и маска +7 (xxx) xxx-xx-xx. Сейчас же помимо российских операторов появились и забугорные, соответственно формат номера телефона отличается от российского. Например, +375 (xx) xxx-xx-xx.
Причём хранить номер в базе хотелось бы в одном поле.
Каким образом тут правильней поступить?
15 май 13, 10:33    [14297210]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом телефонного номера  [new]
Glory
Member

Откуда:
Сообщений: 104751
Корниенко Василий
Каким образом тут правильней поступить?

Для начала задать понятный вопрос
Потому что неясно, какая же у вас " Проблема с выводом телефонного номера"
15 май 13, 10:38    [14297245]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом телефонного номера  [new]
Корниенко Василий
Member

Откуда:
Сообщений: 30
Glory,

проблема в том что старую маску использовать не получится, а новую не сделать. И не понятно как читабельно вывести этот номер и защититься от неверного введения номера.
15 май 13, 10:46    [14297339]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом телефонного номера  [new]
Glory
Member

Откуда:
Сообщений: 104751
Корниенко Василий
проблема в том что старую маску использовать не получится, а новую не сделать.

В MSSQL нет никаких масок

Корниенко Василий
И не понятно как читабельно вывести этот номер и защититься от неверного введения номера.

Определить условия проверки и реализовать их в своем клиентском коде.
15 май 13, 10:48    [14297354]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом телефонного номера  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Корниенко Василий,

Напрашивается создание дополнительного поля - тип телефона,
в зависимости от которого будет своя маска телефона.
15 май 13, 11:06    [14297523]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом телефонного номера  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
А это точно проблема эскуль сервера?

У вас под телефон Char(11) отведено ? ^_^
15 май 13, 11:27    [14297714]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом телефонного номера  [new]
Exproment
Member

Откуда:
Сообщений: 416
Корниенко Василий,

На самом деле желание сделать ограничение на уровне engine вполне понятно и даже радует иначе ничего гарантировать нельзя. Я думаю вы говорите о таких ограничениях:
declare @Table table(PhoneNumber Varchar(50), check(PhoneNumber like '+375 ([1-9][1-9]) [1-9][1-9][1-9]-[1-9][1-9]-[1-9][1-9]' --маска "+375 (xx) xxx-xx-xx. "
								or PhoneNumber like '+7 ([1-9][1-9][1-9]) [1-9][1-9][1-9]-[1-9][1-9]-[1-9][1-9]')) --маска "+7 (xxx) xxx-xx-xx"

insert	into @Table(PhoneNumber)
		Values('+375 (23) 541-78-11')  --Вставится
insert	into @Table(PhoneNumber)
		Values('+7 (134) 542-12-76')  --Вставится
insert	into @Table(PhoneNumber)
		Values('+7 (1324) 542-12-76')  --Ошибка. Не соответсвует ни одной маске
15 май 13, 11:37    [14297784]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить