이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : F.20. ISN - 국제 표준 수에 대한 데이터 유형 (젠 토토, EAN, UPC 등)버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

F.13. 입니다

isn모듈은 데이터 유형을 제공합니다. 다음 국제 제품 번호 지정 표준의 경우: EAN13, UPC, ISBN(도서), ISMN(음악) 및 ISSN(연재물). 숫자는 입력 시 확인되며 올바르게 하이픈이 연결됩니다. 출력.

F.13.1. 데이터 유형

표 F-9.isn데이터 유형

데이터 유형 설명
EAN13 유럽 품목 번호, 항상 표시됨 EAN13 표시 형식
ISBN13 국제 표준 도서 번호 표시 새로운 EAN13 표시 형식
ISMN13 국제 표준 음악 번호 새로운 EAN13 표시 형식으로 표시됨
ISSN13 국제 표준 일련번호 새로운 EAN13 표시 형식으로 표시됨
ISBN 국제 표준 도서 번호 표시 이전의 짧은 표시 형식으로
ISMN 국제 표준 음악 번호 이전의 짧은 표시 형식으로 표시됨
ISSN 국제 표준 일련번호 이전의 짧은 표시 형식으로 표시됨
UPC 범용 제품 코드

몇 가지 참고 사항:

  1. ISBN13, ISMN13, ISSN13 번호는 모두 EAN13입니다. 숫자.

  2. EAN13 번호가 항상 ISBN13, ISMN13 또는 ISSN13인 것은 아닙니다. (일부는 그렇습니다).

  3. 일부 ISBN13 번호는 ISBN으로 표시될 수 있습니다.

  4. 일부 ISMN13 번호는 ISMN으로 표시될 수 있습니다.

  5. 일부 ISSN13 번호는 ISSN으로 표시될 수 있습니다.

  6. UPC 번호는 EAN13 번호의 하위 집합입니다(그들은 기본적으로 첫 번째가 없는 EAN130토토 사이트 추천).

  7. 모든 UPC, ISBN, ISMN 및 ISSN 번호를 표시할 수 있습니다. EAN13 번호로.

내부적으로 이러한 모든 유형은 동일한 표현을 사용합니다( 64비트 정수)이며 모두 상호 교환 가능합니다. 다양한 유형 표시 형식을 제어하고 허용하기 위해 제공됩니다. 다음을 의미하는 입력의 더 엄격한 유효성 검사 특정 유형의 숫자입니다.

ISBN, ISMN, 그리고ISSN유형은 짧은 내용을 표시합니다 가능할 때마다 번호 버전(ISxN 10) 에 맞지 않는 토토 사이트 추천에 대해 ISxN 13 형식을 표시합니다. 짧은 버전. 그만큼EAN13, ISBN13, ISMN13그리고ISSN13유형은 항상 긴 버전을 표시합니다. ISxN(EAN13)의 내용입니다.

F.13.2. 출연진

isn모듈은 다음을 제공합니다. 다음 유형 캐스트 쌍:

  • ISBN13 <= EAN13

  • ISMN13 <= EAN13

  • ISSN13 <= EAN13

  • ISBN <= EAN13

  • ISMN <= EAN13

  • ISSN <= EAN13

  • UPC <= EAN13

  • ISBN <= ISBN13

  • ISMN <= ISMN13

  • ISSN <= ISSN13

다음에서 전송하는 경우EAN13다른 사람에게 유형의 경우 값이 다음 범위 내에 있는지 런타임 검사가 있습니다. 다른 유형의 도메인이며 그렇지 않은 경우 오류가 발생합니다. 는 다른 캐스트는 단순히 라벨을 다시 붙인 것입니다. 성공했습니다.

F.13.3. 함수 및 연산자

isn모듈은 다음을 제공합니다. 표준 비교 연산자, btree 및 해시 인덱싱 이러한 모든 데이터 유형을 지원합니다. 그 외에도 여러 가지가 있습니다 특화된 기능. 이 표에서는,isn모듈의 데이터 유형 중 하나를 의미합니다.

표 F-10.isn함수

기능 반환 설명
isn_weak(부울) 부울 약한 입력 모드 설정(새 설정 반환)
isn_weak() 부울 약한 모드의 현재 상태를 가져옵니다
make_valid(isn) isn 잘못된 토토 사이트 추천를 확인합니다(잘못된 토토 사이트 추천를 지웁니다) 플래그)
is_valid(isn) 부울 잘못된 플래그가 있는지 확인합니다.

약함모드는 다음을 수행하는 데 사용됩니다. 테이블에 잘못된 데이터를 삽입합니다. 유효하지 않음은 검사 숫자를 의미합니다. 숫자가 누락된 것이 아니라 잘못된 것입니다.

왜 약한 모드를 사용하시겠습니까? 글쎄, 그럴 수도 있지 엄청난 양의 ISBN 번호가 있고 거기에 너무 많아서 이상한 이유로 일부는 잘못된 정보를 가지고 있습니다. 확인 숫자(아마도 숫자는 인쇄된 문서에서 스캔되었을 수 있습니다. 목록과 OCR에서 숫자가 잘못되었습니다. 아마도 숫자일 것입니다. 수동으로 캡처되었습니다...누가 알겠습니까). 어쨌든 요점은 너야 엉망진창을 정리하고 싶을 수도 있지만 여전히 할 수 있기를 원합니다. 데이터베이스에 모든 숫자를 저장하고 아마도 데이터베이스에서 유효하지 않은 숫자를 찾는 외부 도구 정보를 확인하고 더 쉽게 유효성을 검사할 수 있습니다. 그래서 예를 들어, 테이블.

약한 연산자를 사용하여 테이블에 유효하지 않은 토토 사이트 추천를 삽입할 때 모드에서는 수정된 수표와 함께 토토 사이트 추천가 삽입됩니다. 토토 사이트 추천이지만 느낌표와 함께 표시됩니다. (!) 마지막에 예를 들어0-11-000322-5!. 이 유효하지 않은 마커는 으로 확인했습니다.is_valid함수 및 다음으로 삭제됨make_valid함수.

또한 유효하지 않은 토토 사이트 추천를 강제로 삽입할 수도 있습니다. 약한 모드가 아닌 경우에는를 추가하여!토토 사이트 추천 끝에 문자가 있습니다.

또 다른 특별한 특징은 입력하는 동안 쓸 수 있다는 것입니다.?체크 토토 사이트 추천 대신 올바른 검사 토토 사이트 추천가 자동으로 삽입됩니다.

F.13.4. 예

--유형을 직접 사용:
SELECT isbn('978-0-393-04002-9');
SELECT isbn13('0901690546');
SELECT issn('1436-4522');

--주조 유형:
-- ean13에서 다른 유형으로만 변환할 수 있다는 점에 유의하세요.
-- 숫자는 대상 유형 영역에서 유효합니다.
-- 따라서 다음은 작동하지 않습니다: select isbn(ean13('0220356483481'));
-- 하지만 다음은 다음과 같습니다.
SELECT upc(ean13('0220356483481'));
SELECT ean13(upc('220356483481'));

--ISBN 번호를 보관할 단일 열이 있는 테이블을 만듭니다.
CREATE TABLE 테스트(id isbn);
테스트 값에 삽입('9780393040029');

--검사 숫자 자동 계산('?' 관찰):
테스트 값에 삽입('220500896?');
테스트 값에 삽입('978055215372?');

SELECT issn('3251231?');
SELECT ismn('979047213542?');

--약한 모드 사용:
SELECT is_weak(true);
테스트 값에 삽입('978-0-11-000533-4');
테스트 값에 삽입('9780141219307');
테스트 값에 삽입('2-205-00876-X');
SELECT is_weak(false);

SELECT id FROM test WHERE NOT is_valid(id);
업데이트 테스트 SET id = make_valid(id) WHERE id = '2-205-00876-X!';

SELECT * FROM 테스트;

테스트에서 isbn13(id)를 선택하세요.

F.13.5. 참고문헌

이 모듈을 구현하기 위한 정보는 다음에서 수집되었습니다. 다음을 포함한 여러 사이트:

http://www.isbn-international.org/
   http://www.issn.org/
   http://www.ismn-international.org/
   http://www.wikipedia.org/

하이픈 넣기에 사용되는 접두사도 컴파일되었습니다. 보낸 사람:

http://www.gs1.org/productssolutions/idkeys/support/prefix_list.html
   http://www.isbn-international.org/en/identifiers.html
   http://www.ismn-international.org/ranges.html

알고리즘을 생성하는 동안 주의를 기울였으며 제안된 내용과 비교하여 꼼꼼하게 검증되었습니다. 공식 ISBN, ISMN, ISSN 사용자 매뉴얼의 알고리즘.

F.13.6. 작성자

게르만 멘데스 브라보(크로누즈), 2004 - 2006

이 모듈은 Garrett A. Wollman의 isbn_issn에서 영감을 받았습니다. 코드.