Postgresql 9.0.23 문서 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.0 : 부울 토토 베이 | up | 8 장. 데이터 스포츠 토토 결과 | PostgreSQL : 문서 : 9.0 : 기하학적 윈 토토 |
열거 된 (ENUM) 스포츠 토토 결과은 정적을 포함하는 데이터 스포츠 토토 결과입니다. 주문 된 값 세트. 그것들은와 같습니다.enum다수의 프로그래밍에서 지원되는 유형 언어. 열거 유형의 예는 주 또는 데이터에 대한 상태 값 세트.
열거 스포츠 토토 결과은를 사용하여 생성됩니다.스포츠 토토 결과 만들기명령, 예 :
Enum ( 'sad', 'ok', 'happy')로 스포츠 토토 결과 분위기를 만듭니다.
일단 생성되면 열거 스포츠 토토 결과은 테이블에서 사용할 수 있습니다. 다른 스포츠 토토 결과과 마찬가지로 함수 정의 :
Enum ( 'sad', 'ok', 'happy'로 스포츠 토토 결과 기분을 만듭니다. 테이블 사람 만들기 ( 이름 텍스트, current_mood 분위기 ); 개인 값에 삽입 ( 'moe', 'happy'); current_mood = 'Happy'가있는 사람에서 *를 선택하십시오. 이름 | current_mood ------+-------------- 모에 | 행복하다 (1 행)
열거 형 값의 순서는 순서입니다. 유형이 생성 될 때 값이 나열된 값. 모두 표준 비교 연산자 및 관련 골재 기능 열거적으로 지원됩니다. 예를 들어:
개인 값에 삽입 ( 'larry', 'sad'); 개인 값에 삽입 ( 'Curly', 'Ok'); Current_mood 'SAD'가있는 사람에서 *를 선택하십시오. 이름 | current_mood -------+------------- 모에 | 행복하다 곱슬 | 좋아요 (2 줄) current_mood 'SAD'순서가있는 사람 중에서 선택 *을 선택하십시오. current_mood; 이름 | current_mood -------+------------- 곱슬 | 좋아요 모에 | 행복하다 (2 줄) 이름을 선택하십시오 사람에게서 여기서 current_mood = (개인에서 select min (current_mood)); 이름 ------- 래리 (1 행)
각 열거 된 데이터 스포츠 토토 결과은 분리되어 있으며 비교할 수 없습니다. 다른 열거 된 스포츠 토토 결과으로. 이 예를 참조하십시오 :
ENUM ( 'Happy', 'Breat Happy', 'Ecstatic'으로 스포츠 토토 결과의 행복을 만듭니다. 휴일 생성 ( num_weeks 정수, 행복 행복 ); 휴일에 삽입 (NUM_WEEK, 행복) 값 (4, 'Happy'); 휴일에 삽입 (Num_weeks, Happiness) 값 (6, '매우 행복'); 휴일에 삽입 (Num_weeks, Happiness) 값 (8, 'Ecstatic'); 휴일에 삽입 (Num_weeks, Happiness) 값 (2, 'SAD'); 오류 : 열거 행복을위한 잘못된 입력 값 : "SAD" Person.name, Holidays.num_weeks, Person, Holidays를 선택하십시오 person.current_mood = holidays.happiness. 오류 : 운영자가 존재하지 않습니다 : mood = 행복
실제로 그런 일을해야한다면, 당신은 사용자 정의 연산자를 작성하거나 명시 적 캐스트를 추가하십시오. 질문:
Person.name, Holidays.num_weeks, Holidays를 선택하십시오 person.current_mood :: text = holidays.happiness :: text; 이름 | num_weeks ------+---------- 모에 | 4 (1 행)
열거 값은 디스크에서 4 바이트를 차지합니다. An의 길이 열거 값의 텍스트 레이블은에 의해 제한됩니다.paminatalen설정 설정PostgreSQL13075_13130
열거 레이블은 사례에 민감하므로'행복한''행복한'. 라벨의 공백은 중요합니다 도.
내부 열거 값에서 텍스트 레이블로의 변환 시스템 카탈로그에 보관PG_ENUM. 이 카탈로그를 직접 쿼리하는 것은 유용 할 수 있습니다.