2012-04-06 4 views
1

C#으로 작성된 물류 소프트웨어에서 주어진 우편 번호가 데이터베이스의 범위 중 하나인지 확인해야합니다. 예를 들어 독일의 경우 영국 우편 번호/우편 번호 범위 계산

범위 : 47000-48000 감안할 때 우편 번호 : 47057 결과 : 숫자 우편 번호에 대한

사실, 그것은 괜찮아. 그러나 영국 우편 번호는 어떻게됩니까? W11 2BQ는 런던의 우편 번호 예입니다.

기본 아이디어 중 하나는 각 문자를 ASCII 코드로 변환하고 왼쪽에서 오른쪽으로 간단히 작성하여 우편 번호를 숫자로 변환하는 것입니다.

그래서

W11 2BQ

-> 87 49 49 32 50 66 81 ->

매우 간단한 우편 번호 매우 큰 숫자가되고 그 날 방해 87,494,932,506,681. 영어 우편 번호는 크기가 다를 수 있으므로 (최대 8 자) 결과 번호가 더 커집니다.

SQL Server를 사용하여 주어진 우편 번호가 범위 내에 있는지 확인합니다.

범위 계산을 위해 영국 우편 번호를 처리 할 수있는 공식 기법이 있습니까?

최저

, Alper 내가 ASCII로 우편 번호를 변환 생각하지 않는다

+1

데이터베이스의 범위 (다른 사람이 정의한 범위)를 "중개"가 의미하는 바를 찾아서 구현해야합니다. –

답변

0

좋은 생각이다. 이유는 분명합니다. 예를 들어 1210121과 같이 ASCII로 변환 한 값이있는 경우 문제는 (12) (10) (121) 또는 (12) (101) (21)로 분리됩니다. 이것은 작은 이득을위한 많은 일로 보인다.

비록 SQL을 사용할 수 없습니까 ??

select * from ZIPTable where zipcode IN ('G4543','G3543') 

참고 : 하위 쿼리에서 우편 번호를 가져올 수 있습니다.

0

'우편 번호'는 귀하의 목적이 포괄적 인 우편물 이해 라이브러리를 작성하는 것이 아닌 한, 코드에 대해 코드를 작성하는 대신 완전히 임의의 시스템입니다. - 할 수있는 라이브러리를 찾고/지불/권하는 것이 좋습니다. 당신이 요구하는 것. 도움이된다면

, 영국의 우편 번호에 대한 기본 규칙 (나는 사람에서 기억까지로 내가 본)은 다음과 같습니다 {1,2}

[AZ] - 2 문자 코드 정렬을 나타내는 지역성에 저장소 \ D - D \ 정렬 저장소 관할 [필수 공간]의 호 [AZ] {2} - 10-100 주소

그것은 같으면 그룹에 의해 점유 된 인접 영역에 대한 영숫자 코드 내 summarisation이 잘못되었거나 불완전하다면 놀라지 않을 것입니다. 내가 본 모든 우편 번호는 내가 언급 한 형식으로되어 있지만 실제 규칙을 모르므로 다른 형식의 다른 우편물이있을 수 있습니다. 그것은 단지 시스템의 본질에 대한 광범위한 평가를하기 위해 포함되었습니다.

0

GeoNames Web Service을 시작하는 것이 좋습니다. 어쨌든 API를 통해 우편 번호의 유효성을 검사 할 수 있어야합니다. 난 당신이 자신의 유효성 검사 논리를 작성하려는 경우에도 데이터베이스를 내보낼 수있을 것 같아요.