내 Oracle 데이터베이스에서 열이 VARCHAR2가 될 것으로 예상합니다.
미국 우편 번호는 9입니다.
캐나다는 7입니다.
32 자 정도면 적당 할 것 같아요
내가 무엇을 놓치고 있습니까?
[편집] TIL : 12는 기여해 주신 모든 분들께 감사드립니다.
내 Oracle 데이터베이스에서 열이 VARCHAR2가 될 것으로 예상합니다.
미국 우편 번호는 9입니다.
캐나다는 7입니다.
32 자 정도면 적당 할 것 같아요
내가 무엇을 놓치고 있습니까?
[편집] TIL : 12는 기여해 주신 모든 분들께 감사드립니다.
답변:
Wikipedia의 우편 번호 페이지를 훑어 보면 32 자 이상이면 충분합니다. 16 자라도 좋다고 말하고 싶습니다.
@ neil-mcguigan이 이미 제기했듯이 wikipedia에는 주제에 대한 적절한 페이지가 있습니다. 12 개의 문자를 기반으로해야합니다 : http://en.wikipedia.org/wiki/List_of_postal_codes
위키피디아 기사에는 UPU (Universal Postal Union) 에 대해 꽤 좋은 ~ 254 개국이 나열되어 있으며 192 개 회원국이 있습니다.
저장하려는 실제 데이터보다 큰 필드 크기를 선언하는 이유는 무엇입니까?
애플리케이션의 초기 버전이 미국 및 캐나다 주소를 지원할 경우 (질문에서 해당 크기를 호출한다는 사실에서 추론하고 있음) 필드를 VARCHAR2 (9) (또는 VARCHAR2 ()로 선언합니다. 10) ZIP + 4 필드에 하이픈을 저장하려는 경우). 다른 국가의 우편 번호에 대해 다른 사람들이 작성한 게시물을 살펴 보더라도 VARCHAR2 (9) 또는 VARCHAR2 (10)는 다른 모든 국가는 아니지만 대부분의 경우 충분합니다.
줄 아래에서는 필요에 따라 항상 열을 변경하여 길이를 늘릴 수 있습니다. 그러나 일반적으로 누군가가 어딘가에서 "창의적"이라고 결정하고 VARCHAR2 (50) 필드에 50 개의 문자를 넣는 것을 막는 것은 어렵습니다 (즉, 배송 레이블에 다른 줄을 원하기 때문입니다). 또한 경계 케이스 테스트를 처리해야합니다 (ZIP을 표시하는 모든 애플리케이션이 50자를 처리합니까?). 그리고 클라이언트가 데이터베이스에서 데이터를 검색 할 때 일반적으로 주어진 행의 실제 길이가 아니라 가져올 데이터의 최대 크기를 기준으로 메모리를 할당합니다. 이 특정 경우에 큰 문제는 아니지만 일부 상황에서는 행당 40 바이트가 적절한 RAM 청크가 될 수 있습니다.
제쳐두고, (적어도 미국 주소의 경우) 우편 번호와 +4 확장자를 별도로 저장하는 것도 고려할 수 있습니다. 일반적으로 지역별로 보고서를 생성 할 수있는 것이 유용하며, +4 확장자로 분류하지 않고 모든 것을 우편 번호에 함께 넣는 것이 좋습니다. 이 시점에서 우편 번호의 처음 5 개 문자를 SUBSTR하지 않아도되는 것이 유용합니다.
당신이 놓친 것은 우편 번호가 특별히 처리되어야하는 이유입니다.
우편 번호 로 작업 할 필요가 없다면 걱정하지 않는 것이 좋습니다. 작업이란 주소 라벨 등을 인쇄하는 데 사용하는 것보다 특수 처리를하는 것입니다.
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)은 우편 번호 저장에 충분합니다.