문제

내 Oracle 데이터베이스에서 열이 varchar2가 될 것으로 기대합니다.

미국 ZIPS는 9입니다.

캐나다인은 7입니다.

32자가 합리적인 상한이라고 생각하고 있습니다.

내가 무엇을 놓치고 있습니까?

편집] TIL : 12는 기여한 모든 사람 덕분에 질문에 대한 합리적인 답변입니다.

도움이 되었습니까?

해결책

스키밍 Wikipedia의 우편 번호 페이지, 32자는 충분해야합니다. 나는 16 자조차 좋다고 말할 것이다.

다른 팁

@Neil-McGuigan이 이미 제기 한 Wikipedia는이 주제에 대한 괜찮은 페이지를 가지고 있습니다. 12자를 기반으로해야합니다. http://en.wikipedia.org/wiki/list_of_postal_codes

Wikipedia 기사는 ~ 254 개국을 나열합니다. UPU (Universal Postal Union) 192 개 회원국이 있습니다.

저장할 실제 데이터보다 필드 크기가 더 큰 이유는 무엇입니까?

응용 프로그램의 초기 버전이 당사와 캐나다 주소 (질문에서 해당 크기를 부르는 사실로부터 추론하는 경우), 필드를 varchar2 (9) (또는 varchar2 (또는 varchar2)로 선언합니다. 10) 하이픈을 zip+4 필드에 보관하려는 경우). 다른 사람들이 국가 전체의 우편 번호로 만든 게시물을 살펴 보더라도 Varchar2 (9) 또는 Varchar2 (10)는 다른 모든 국가가 아니라면 가장 충분할 것입니다.

줄을 아래로 내려 가면 항상 열을 변경하여 필요할 때 길이를 늘릴 수 있습니다. 그러나 어딘가에 "창의적"을 얻기로 결정하지 못하고 50자를 Varchar2 (50) 필드에 어떤 이유로 든 (즉, 배송 라벨에서 다른 라인을 원하기 때문에)를 대상으로하는 것을 막기가 어렵습니다. 또한 경계 케이스 테스트를 처리해야합니다 (지퍼 핸들 50자를 표시하는 모든 응용 프로그램은?). 또한 클라이언트가 데이터베이스에서 데이터를 검색 할 때 주어진 행의 실제 길이가 아니라 가져 오는 데이터의 최대 크기를 기반으로 메모리를 일반적으로 할당한다는 사실로. 아마도이 특정 사례에서는 큰 거래는 아니지만 행당 40 바이트는 일부 상황에서 괜찮은 RAM 덩어리가 될 수 있습니다.

제쳐두고, 당신은 또한 우편 번호와 +4 확장을 별도로 저장하는 것을 고려할 수도 있습니다. 일반적으로 지리적 지역에서 보고서를 생성 할 수있는 것이 유용하며, +4 확장으로 분류하는 대신 모든 것을 우편 번호에 모으기를 원할 수 있습니다. 이 시점에서 우편 번호의 첫 5자를 기부하지 않아도되는 것이 유용합니다.

당신이 놓친 것은 우편 번호를 특별히 처리 해야하는 이유입니다.

당신이 정말로 필요하지 않다면 일하다 우편 번호로 걱정하지 않는 것이 좋습니다. 직장에서는 주소 라벨 등을 인쇄하는 데 사용하기보다는 특별 처리를 수행한다는 의미입니다.

Varchar2 (50)의 3-4 개의 주소 필드를 작성하고 사용자가 원하는대로 입력하도록하십시오.

너 진짜 필요 우편 번호로 주문이나 거래를 그룹화하려면? 나는 다른 나라 들이이 분야에 대한 계획을 크게 다른 것으로 생각하지 않는다고 생각합니다.

표준화? 우편 번호는 두 번 이상 사용될 수 있으며 거리 이름이나 도시 이름과 관련이있을 수 있습니다. 별도의 테이블.

캐나다 우편 번호는 문자와 숫자 (lnlnln)의 형태로 6 자에 불과합니다.

영국은 표준을 발표했습니다. 영국 정부 데이터 표준 카탈로그

Max 35 characters per line 

국제 우편 주소 :

Minimum of 2 lines and maximum of 5 lines for the postal delivery point 
details, plus 1 line for country and 1 line for postcode/zip code 

영국 우편 번호 길이는 다음과 같습니다.

Minimum 6 and Maximum 8 characters 

우편 번호를 데이터베이스에 통합하려면 Geonames 데이터베이스가 사용하는 것이 가장 좋습니다. 사용하고 이해하기가 어렵지만 우리와 같은 사용자에게 자유롭게 이용할 수있는 가장 큰 지리적 데이터베이스입니다.

다른 모든 데이터베이스에는 다소 동일한 데이터와 구조가있을 가능성이 높습니다. 데이터베이스에서 추가/중복 정보를 제거합니다. 저 부하 시스템을 위해 수행하는 경우 무료 서비스를 사용하면 한도가 매력적이며 JSON 및 AJAX를 사용하여 더 쉬운 인터페이스를 제공합니다. 한계를 볼 수 있습니다 여기

정보의 경우 Varchar (20)는 우편 번호를 저장하기에 충분합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top