웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[MySQL] Set 형 자료형..
2003.12.24 01:32
http://www.nzeo.com/bbs/zboard.php?id=cgi_pr&no=22532php 프로그램시 유용하게 사용할수 있는 자료형 중에 하나를 소개 할까 합니다.
SET 이라는 자료형입니다. enum 과 유사하게 생겼으나 전혀 다른 별개의 자료형입니다.
enum ('a','b','c') 라고 정의된 필드가 있다고 생각합시다.
이 자료형은 a 나 b, c(혹은 null) 중 단 하나의 값을 가질수 있습니다.
set('a','b','c') 라고 정의된 필드는 enum과는 조금 다르게
null, a, b, c, (a,b), (a,c)... (a,b,c) 와 같은 값을 가질수 있습니다.
enum과는 달리 복수개의 아이템을 값으로 가질수가 있습니다.
그리고 또 하나 set 에 정의된 아이템은 비트 연산이 가능합니다.
null - 000 (0)
a - 001 (1)
b - 010 (2)
c - 100 (4)
a,b - 011 (3)
a,b,c - 111 (7)
set 형은 최대 64개의 아이템을 가질수 있고 select 문을 통해서 문자열 혹은 정수 값으로 열람이 가능합니다.
비트연산을 통해 비교구문을 활용할수 있고 그 응용범위는 넓습니다.
제 경우엔 수강신청 프로그램에 활용을 하였습니다.
각 과목은 월1~금15 까지 중 일부의 가변 갯수의 수업시간을 가집니다.
그리고 수강신청시 이미 신청한 과목과 중복된 과목은 신청할수 없겠죠?
원래는 정수형으로 필드를 설정해놓고 각 시간별로 비트를 하나씩 부여해서 php 에서 처리해주려고 했는데
이미 mysql 에 set형이라는 유사한 자료형이 있더라구요..
이 경우 기존에 수강신청한 자료에서 이미 신청한 과목의 시간을 모두 얻어
이 값을 or 연산을 해주고, 그 값과 현재 신청하려는 수강과목의 시간을 and 해주어서
그 결과가 0이 나와야 신청이 가능하겠죠??
많은 도움이 되셨나요?
----------------------------
웹상에서 웹프로그램 오픈 소스 프로젝트를 해볼생각입니다.
관심있는 분은 link1을 클릭해주세요.
SET 이라는 자료형입니다. enum 과 유사하게 생겼으나 전혀 다른 별개의 자료형입니다.
enum ('a','b','c') 라고 정의된 필드가 있다고 생각합시다.
이 자료형은 a 나 b, c(혹은 null) 중 단 하나의 값을 가질수 있습니다.
set('a','b','c') 라고 정의된 필드는 enum과는 조금 다르게
null, a, b, c, (a,b), (a,c)... (a,b,c) 와 같은 값을 가질수 있습니다.
enum과는 달리 복수개의 아이템을 값으로 가질수가 있습니다.
그리고 또 하나 set 에 정의된 아이템은 비트 연산이 가능합니다.
null - 000 (0)
a - 001 (1)
b - 010 (2)
c - 100 (4)
a,b - 011 (3)
a,b,c - 111 (7)
set 형은 최대 64개의 아이템을 가질수 있고 select 문을 통해서 문자열 혹은 정수 값으로 열람이 가능합니다.
비트연산을 통해 비교구문을 활용할수 있고 그 응용범위는 넓습니다.
제 경우엔 수강신청 프로그램에 활용을 하였습니다.
각 과목은 월1~금15 까지 중 일부의 가변 갯수의 수업시간을 가집니다.
그리고 수강신청시 이미 신청한 과목과 중복된 과목은 신청할수 없겠죠?
원래는 정수형으로 필드를 설정해놓고 각 시간별로 비트를 하나씩 부여해서 php 에서 처리해주려고 했는데
이미 mysql 에 set형이라는 유사한 자료형이 있더라구요..
이 경우 기존에 수강신청한 자료에서 이미 신청한 과목의 시간을 모두 얻어
이 값을 or 연산을 해주고, 그 값과 현재 신청하려는 수강과목의 시간을 and 해주어서
그 결과가 0이 나와야 신청이 가능하겠죠??
많은 도움이 되셨나요?
----------------------------
웹상에서 웹프로그램 오픈 소스 프로젝트를 해볼생각입니다.
관심있는 분은 link1을 클릭해주세요.
댓글 3
제목 | 글쓴이 | 날짜 |
---|---|---|
팝업 창 띄우고 어미창 사라지게 하는 소스 [5] | piasol | 2004.03.06 |
보안문서 만들기 [5] | 민우주 | 2004.03.07 |
뉴스티커
[16]
![]() | zero | 2004.03.10 |
[초간단 자바스크립트!] 서브메뉴 만들기...~ [11] | ∑Ztxy | 2004.03.10 |
전체 include menu 만들기(롤오버 이미지 사용) [4] | Neoyoung | 2004.03.14 |
프레임사이트에서 자식 프레임(URL)로 직접 치고 들어 올경우 다시 프레임 부모로 돌려보내는 소스 | 나야 | 2004.03.15 |
브라우져(윈도우) 창의 크기(사이즈)를 조절하는 소스입니다 [5] | 나야 | 2004.03.15 |
웹브라우저 상태바가 밑으로 내려오는 소스 [5] | 프리서버 | 2004.03.16 |
움직이는 타이틀바 [4] | 김동현 | 2004.03.18 |
MS agent online object - Default Character 인 Merlin Action 추가 [2] | 꽃ちゃん | 2004.03.19 |
버튼 만들기 [1] | 旻天 | 2004.03.23 |
허접한 풀다운 메뉴 소스입니다. (유용한 팁 일지는 모르겠네요.)
[9]
![]() | tintintm | 2004.03.23 |
팝업공지창 2개이상 띄우기(시간제한 가능) [8] | lemin | 2004.03.23 |
XP계열의 방문자 컴에서 ClearType 효과 사용여부 확인 [4] | YeUPy | 2004.04.04 |
바보같은 MS의 parseInt 버그. [4] | 김관석 | 2004.04.09 |
브라우저 버젼별 다른 페이지 보여주기 [2] | Kuldahar | 2004.04.13 |
자기가 살아온 시간 구하기.. 데스크탑에 나타내기 [4] | kein23 | 2004.04.14 |
(For 초보)원클릭으로 여러프레임 컨트롤하기 [2] | 쉬드 | 2004.04.19 |
[iframe:아이프레임] 내용에 맞게 사이즈 조절하기 한번입력으로 끝.[다른방법:중복아닌듯] [45] | beMax | 2004.04.23 |
특정부분을 원클릭에 copy 또는 선택하기 [3] | ▩윤미 | 2004.04.30 |