database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 27861 게시물 읽기
No. 27861
나이별 구분처리...
작성자
도와주세요
작성일
2008-11-10 01:43
조회수
4,303

사용자의 생년월일을 입력받아서 

그 사용자의 나이대를 가져와야 하는데...

이게 생각대로 잘안되네요..ㅠㅠ



select

 a.*

 IF a.age < 19 THEN "10"

 ELSEIF a.age >= 20 AND a.age < 30 THEN "20대 "

 ELSEIF a.age >= 30 AND a.age < 40 THEN "30대 "

 ELSEIF a.age >= 40 AND a.age < 50 THEN "40대 "

 ELSEIF a.age >= 50 AND a.age < 60 THEN "50대 "

 ELSEIF a.age >= 60 AND a.age < 70 THEN "70대 "

 ELSE "0"

 END IF

from (

select userid, (year(now())-byear) as age from Member

) a


쿼리는 이렇게 짜봤는데...이게 안되네요..ㅠㅠ

byear 은 생년입니다. 1980, 1987


이런식으로요

(year(now())-byear)  쿼리를 이용해서 사용자가 몇살인지는 알아냈는데...

이걸로 


 IF a.age < 19 THEN "10"

 ELSEIF a.age >= 20 AND a.age < 30 THEN "20대 "

 ELSEIF a.age >= 30 AND a.age < 40 THEN "30대 "

 ELSEIF a.age >= 40 AND a.age < 50 THEN "40대 "

 ELSEIF a.age >= 50 AND a.age < 60 THEN "50대 "

 ELSEIF a.age >= 60 AND a.age < 70 THEN "70대 "

 ELSE "0"

 END IF


이렇게 했는데...나이대가 안나오네요....

어떻게 방법이 없을까요...???

이 글에 대한 댓글이 총 1건 있습니다.

안녕하세요 

즐건 점심시간입니다.  ^^;;


말씀하신 부분은 연도에서 뒷자리 두개를 짤라내서 비교하는 부분이네요 

select date_format(now(),'%y') << 요녀석을 이용하면 연도의 두자리를 짤라 낼수있습니다. 


그럼 홧팅요.. 점심 맛나게 드시구요 ^^

박성원(darkancia)님이 2008-11-10 10:54에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
27866union all [2]
이기용
2008-11-12
4967
27864DB에 insert시 한글이 깨집니다. 해결방법 알려주시면 감사하겠습니다. [1]
김호근
2008-11-10
4550
27862MySQL에서 사용가능한 최대메모리는 어떻게 되는지요? [1]
주정도
2008-11-10
4337
27861나이별 구분처리... [1]
도와주세요
2008-11-10
4303
27860MySQL에서 Oracle 접속
최승권
2008-11-07
5037
27859다시 글을 올리네요.. [5]
이성식
2008-11-07
4418
27858[급]데이베이스를 열수가 없습니다. [1]
이성산
2008-11-07
3757
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다