由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
LosAngeles版 - 请教一个SQL数据库编程问题:如何识别电话区号?
相关主题
请不要拨这些电话DANGER! new area code‏Job Opening
基督教立国的大多道德沦丧,贫穷落后(有数据)公司招聘Microsoft BI Report Developer
快讯!快讯! I phone 4s 今天更新后变4G网络了!招聘BI Developer (pasadena)
40 小时CPT 的学校谁能推荐个在west LA好的C++培训班吗?
LA地区求挂CPT的学校Looking for PHP Programmer - Database
请记住华人中的败类! (转载)LA公司招IT人员: MS SQL Dev/DBA
找不都H1B Sonsorship 的可以申请ITU,拿到CPT就可以全职工作招聘Data Warehouse Developer 请斑竹置顶!
找工作(C#,Linq,Crystal Report,SQL)Data Analyst opening, Los Angeles area
相关话题的讨论汇总
话题: sql话题: rates话题: 区号话题: 代码
进入LosAngeles版参与讨论
1 (共1页)
K****n
发帖数: 2485
1
遇到这样一个问题,需要编一段SQL指令,在任意给定的电话号码(包括国家代码,为
一整串数字,没有任何分隔符号)中识别出它的国家代码。所有已知国家代码在一个表
格中已经给出。
原题目如下,计算费率的部分已经解决,但如何确定国家代码的部分很头痛。貌似主要
难点在于无法区别代表美国的“1”与代表多米尼加的“1809”这样非常近似的区号。
其他区号的比较可能用LIKE %语句就能实现吧。
请SQL大拿们指点一下,多谢! :)
There are two tables in a telecom SQL Server database – Customers and Rates
as shown below:
Customers
PK CustomerPhoneNumber varchar(15)
CustomerType int -the type of customer

Rates
FK CustomerType int - the type of customer
Count
l******n
发帖数: 9344
2
look at the length first

Rates

【在 K****n 的大作中提到】
: 遇到这样一个问题,需要编一段SQL指令,在任意给定的电话号码(包括国家代码,为
: 一整串数字,没有任何分隔符号)中识别出它的国家代码。所有已知国家代码在一个表
: 格中已经给出。
: 原题目如下,计算费率的部分已经解决,但如何确定国家代码的部分很头痛。貌似主要
: 难点在于无法区别代表美国的“1”与代表多米尼加的“1809”这样非常近似的区号。
: 其他区号的比较可能用LIKE %语句就能实现吧。
: 请SQL大拿们指点一下,多谢! :)
: There are two tables in a telecom SQL Server database – Customers and Rates
: as shown below:
: Customers

p********0
发帖数: 186
3
Elegant solution will use regular expression.
http://msdn.microsoft.com/en-us/magazine/cc163473.aspx
K****n
发帖数: 2485
4
我感觉主要难点是如何区分下面两个号码
1809222333 多米尼加号码1809+222333
1809222333 美国号码 1+809.222.333

【在 l******n 的大作中提到】
: look at the length first
:
: Rates

b*******3
发帖数: 1461
a********y
发帖数: 687
6
As I know, u need a T-SQL function, and call this function from SQL
statement.
reading this is helpful to construct the T-SQL function.
http://www.unc.edu/~rowlett/units/codes/country.htm

Rates

【在 K****n 的大作中提到】
: 遇到这样一个问题,需要编一段SQL指令,在任意给定的电话号码(包括国家代码,为
: 一整串数字,没有任何分隔符号)中识别出它的国家代码。所有已知国家代码在一个表
: 格中已经给出。
: 原题目如下,计算费率的部分已经解决,但如何确定国家代码的部分很头痛。貌似主要
: 难点在于无法区别代表美国的“1”与代表多米尼加的“1809”这样非常近似的区号。
: 其他区号的比较可能用LIKE %语句就能实现吧。
: 请SQL大拿们指点一下,多谢! :)
: There are two tables in a telecom SQL Server database – Customers and Rates
: as shown below:
: Customers

K****n
发帖数: 2485
7
抱歉,看不懂这是啥。。。

【在 b*******3 的大作中提到】
: http://regexlib.com/UserPatterns.aspx?authorid=d95177b0-6014-4e73-a959-73f1663ae814
K****n
发帖数: 2485
8
美国local的电话号码不会有809开头的么?
那如果其他国家的国家代号也是1开头的,比如说1626,怎样用SQL把它与美国的电话号
码区分开?
b*******3
发帖数: 1461
9
regex to get you started

【在 K****n 的大作中提到】
: 抱歉,看不懂这是啥。。。
J******6
发帖数: 1401
10
如此说来,考的不是SQL, 而是国际电话号码标准了。

,
J******6
发帖数: 1401
11
just search from google, no 809 area code in US, all 1+ area codes are unique.
即 809 专留给Dominican
http://www.convertit.com/Go/ConvertIt/Reference/Telephone_Area_Codes.ASP
b******7
发帖数: 123
12
这个是权威答案,号码设计避免了这种情况,因为以前的交换机是继电器的,拔一个号
就跳一个,必须避免重
号情况。

,
K****n
发帖数: 2485
13
是的,看来你们的说法正确,ITU的国家区号表中没有能跟美国local区号重叠、冲突的
内容
那这题目就应该容易多了 :)
多谢你们的解答!

【在 b******7 的大作中提到】
: 这个是权威答案,号码设计避免了这种情况,因为以前的交换机是继电器的,拔一个号
: 就跳一个,必须避免重
: 号情况。
:
: ,

a********y
发帖数: 687
14
While I was walking my dog, I suddenly figured out a simple solution.
First you need build up a look up table, referring to
http://www.unc.edu/~rowlett/units/codes/country.htm
Table name: ITUCalling_CountryCode
ITUCallingNum varchar(3) - primary key
CountryCode varchar(4)
To map from ITUCallingNum to Country code.
Because country calling codes for international telephone calls are either 1
, 2, or 3 digits and unique, the pseudo code can be implemented as
Select CountryCode
from ITUCallin

【在 K****n 的大作中提到】
: 遇到这样一个问题,需要编一段SQL指令,在任意给定的电话号码(包括国家代码,为
: 一整串数字,没有任何分隔符号)中识别出它的国家代码。所有已知国家代码在一个表
: 格中已经给出。
: 原题目如下,计算费率的部分已经解决,但如何确定国家代码的部分很头痛。貌似主要
: 难点在于无法区别代表美国的“1”与代表多米尼加的“1809”这样非常近似的区号。
: 其他区号的比较可能用LIKE %语句就能实现吧。
: 请SQL大拿们指点一下,多谢! :)
: There are two tables in a telecom SQL Server database – Customers and Rates
: as shown below:
: Customers

1 (共1页)
进入LosAngeles版参与讨论
相关主题
Data Analyst opening, Los Angeles areaLA地区求挂CPT的学校
希望认识正在找工作的人,互相分享下有用的工作信息请记住华人中的败类! (转载)
LA有没有ICC可推荐呢找不都H1B Sonsorship 的可以申请ITU,拿到CPT就可以全职工作
LA软件工作求REFER找工作(C#,Linq,Crystal Report,SQL)
请不要拨这些电话DANGER! new area code‏Job Opening
基督教立国的大多道德沦丧,贫穷落后(有数据)公司招聘Microsoft BI Report Developer
快讯!快讯! I phone 4s 今天更新后变4G网络了!招聘BI Developer (pasadena)
40 小时CPT 的学校谁能推荐个在west LA好的C++培训班吗?
相关话题的讨论汇总
话题: sql话题: rates话题: 区号话题: 代码