Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 15.07.2014
Сообщений: 9
1

PL SQL функция для определения страны по коду страны

15.07.2014, 08:43. Просмотров 1754. Ответов 8
Метки нет (Все метки)


Как написать pl sql функцию для определения кода страны?
Например есть номер 7 922 555 1234 (Россия) и 77021234567 (Казахстан). У Казахстана и России код страны 7, и чтобы правильно определить страну нужно делать проверку с конца строки чтобы если стоят цифры 77 определить это как Казахстан, а если 79 - как Россию.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2014, 08:43
Ответы с готовыми решениями:

Плагин для определения страны и города по ip
Всем привет! В моем Laravel 5.6 приложении понадобилось определить страну и город по ip Погуглив...

Образовать массив, индексами которого являются страны, а элементами - множества городов каждой страны
Образовать массив, индексами которого являются страны, а элементами - множества городов каждой...

Составить программу, которая бы выдавала по названию страны название столицы этой страны (использовать не менее 6-7 названий).
Составить программу, которая бы выдавала по названию страны название столицы этой страны...

Определения страны по IP
Сделала на сайте возможность отображения страны откуда пришел комментарий, использовал базу данных...

__________________
Помогаю в написании студенческих работ здесь.
8
2508 / 1129 / 582
Регистрация: 07.06.2014
Сообщений: 3,281
15.07.2014, 09:18 2
Цитата Сообщение от yrysty Посмотреть сообщение
нужно делать проверку с конца строки
вообще-то, с НАЧАЛА строки.
0
0 / 0 / 0
Регистрация: 15.07.2014
Сообщений: 9
15.07.2014, 09:21  [ТС] 3
в том то и дело что с начала строки не получится, так как существуют одинаковые коды стран, например у Казахстана и России это 7, а у США и Канады 1
0
2508 / 1129 / 582
Регистрация: 07.06.2014
Сообщений: 3,281
15.07.2014, 09:32 4
допустим, в таблице TT3 поле TELNUM хранит номер телефона

тогда:
SQL
1
2
3
4
5
6
7
SELECT telnum,
  CASE
   substr(translate(telnum,'0123456789+ ','0123456789'),1,2)
    WHEN '79' THEN 'Россия'
    WHEN '77' THEN 'Казахстан'
    ELSE 'неизвестная страна' END AS TelCountry  
 FROM tt3

p.s. разумеется, по хорошему надо заводить отдельную таблицу с кодами и наименованиями стран и связывать выделенный код из номера с кодом страны

Добавлено через 1 минуту
Цитата Сообщение от yrysty Посмотреть сообщение
в том то и дело что с начала строки не получится
угу. именно с начала строки нужно брать не 1, а ДВА символа!
см. пример
0
0 / 0 / 0
Регистрация: 15.07.2014
Сообщений: 9
15.07.2014, 09:38  [ТС] 5
всегда ли стоит брать 2 символа с начала строки?
0
2508 / 1129 / 582
Регистрация: 07.06.2014
Сообщений: 3,281
15.07.2014, 10:09 6
Цитата Сообщение от yrysty Посмотреть сообщение
всегда ли стоит брать 2 символа с начала строки?
хм... Это Вы меня спрашиваете?! А я откуда это знаю?... Вам же виднее, где хранится код страны и сколько символов он занимает.

я исходил из:
Цитата Сообщение от yrysty Посмотреть сообщение
если стоят цифры 77 определить это как Казахстан, а если 79 - как Россию.
0
0 / 0 / 0
Регистрация: 15.07.2014
Сообщений: 9
15.07.2014, 10:28  [ТС] 7
хранится будет только 7, поэтому и говорю что нужно с конца строки смотреть
0
1 / 1 / 1
Регистрация: 24.01.2013
Сообщений: 15
18.07.2014, 11:22 8
Дайте для понимания все возможные элементы атрибута "telnum", а то ничего не ясно, на самом деле.
0
0 / 0 / 0
Регистрация: 15.07.2014
Сообщений: 9
18.07.2014, 12:56  [ТС] 9
в общем примерно так: есть номер, например, 770721354636 не фиксированной длины, нужно узнать страну по коду в самом начале номера. допустим что максимальное количество цифр в коде страны 5, минимальное 1. вырезаем первые 5 цифр номера. так как есть страны в которых совпадают коды необходимо начинать поиск с конца строки уже вырезанного номера. Например в Казахстане и в России код страны 7, НО коды операторов разные: 77271234567(Казахстан), 7922 5551234(Россия). И если сначала найдётся 9 то функция должна выдать Россию.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2014, 12:56

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

Определить, через сколько лет население первой страны превзойдет население второй страны
Задача такая: Население 2-х стран равно N1 и N2, соответственно прирост P1 и P2. Население N1 < N2,...

GeoIP. Получить название страны по двухсимвольному коду
Не нашел такую функцию, которая из кодов 'RU', 'TH', получает название страны - Russia, Thailand....

Через сколько лет население страны X превзойдет население страны Y
Доброго времени суток, уважаемые. Помогите пожалуйста решить задачу с использованием...

Запрос SQL бд Страны
Помогите пожалуйста написать запрос. Выведите страны Европы с площадью более 243000 км2? ниже...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.