게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
re: 검색부분 |
---|
작성자: 송원석
작성일시: 2006-07-31 16:27,
조회수: 3,778
|
안녕하세요? 송원석입니다. ^_^
질문하신 내용으로 미루어 짐작해보건데, 단순히 주민등록번호 값을 비교하지 못해서 제게 질문하신 것은 아니라는 생각입니다. 맞죠? ^_^;;; 지금 문제는 SELECT 태그에서 숫자값으로 넘어오는 값을 기반으로, 나이에 대한 불규칙한 패턴의 구간을 설정하는 방법에 대한 것이 요점인 것 같습니다. 그리고 가급적이면 문자열 이어붙이기를 하고 싶지 않으신 것 같구요. 저라면 이런 방법을 사용해 볼 것 같습니다. 한 번 참고해보시고 의견이 있으시면 편안하게 말씀주시기 바랍니다. 먼저 빈 문자열이 넘어오는 경우에는 단순히 상수를 정하여 검색을 하시면 될 것 입니다. 즉 0001 년 01 월 01 일 보다 크고 9999 년 12 월 31 일 보다 작은 데이터를 조회하면 되겠죠. 문제는 네 개로 나누어진 구간인데 규칙성을 찾아내기만 하면 될 것 같습니다. ^_^ 그리고 네 개로 나누어진 구간은 20 세 부터 40 세까지 5 년 단위로 나누어져 있군요. 그런데 구간 자체가 조금 문제가 있는 것 같습니다. 지금 올려주신 바에 따르면 다음과 같이 되어있는데, 구간의 시작 부분 정의에 문제가 있는 것 같습니다. 즉 구간이 끝나는 값은 각각 25, 30, 35, 40 으로 5 씩 증가합니다. 그런데 시작값은 20, 26, 31, 35 로 들쑥날쑥하군요. <select name="age" style="width:60; height=18"> <option value="">나이</option> <option value="1">20~25</option> <option value="2">26~30</option> <option value="3">31~35</option> <option value="4">35~40</option> </select>제 생각으로는 21, 26, 31, 36 이 되거나, 또는 처음 시작하는 20 세를 특별 취급한다고 하더라도 20, 26, 31, 36 이 되는 것이 맞는 것 같습니다. 따라서 다음과 같은 구간이 올바르다고 한다면... <select name="age" style="width:60; height=18"> <option value="">나이</option> <option value="1">20~25</option> <option value="2">26~30</option> <option value="3">31~35</option> <option value="4">36~40</option> </select>이런 데이터라면 다음과 같은 간단한 공식으로 구간을 구할 수 있을 것 같습니다. 넘어온 값을 N 이라고 가정한다면 의사코드는 다음과 같이 되겠죠... MinAge = (N - 1) * 5 + 20 + 1 MaxAge = N * 5 + 20 If N = '1' Then MinAge = MinAge - 1 End If이제 오늘 날자를 기준으로 비교할 날자를 구하면 됩니다. 예를 들어서 넘어온 SELECT 태그의 값이 3 이라면 MinAge 는 31, MaxAge 는 35 이므로... FormDate = TODAY - 35 년 ToDate = TODAY - 31 년 + 1 년이 될 것입니다. ToDate 에 1 년이 더 붙는 이유는 나이란게 그렇게 먹는 것이니까 그런 것이구요. 즉 오늘은 2006 년 07 월 31 일 이므로 FromDate 는 1971 년 07 월 31 일이고, ToDate 는 1976 년 07 월 31 일이죠. 따라서 문자열을 이어붙이면 710731 보다 크거나 같고, 760731 보다 작은 로우를 가져오시면 되겠죠. ^_^ 감사합니다. |
IP 주소: 203.231.54.116
|
전체 2,095 건의 게시물,
84 페이지로 구성된
ASP, ASP.NET, IIS & Script 게시판의
24 페이지입니다.
게시물 | ||||
---|---|---|---|---|
1,562 | 2006-08-17 | 6,278 | ||
1,561 | 2006-08-18 | 4,049 | ||
1,560 | 2006-08-18 | 14,592 | ||
1,559 |
kall |
2006-08-08 | 1,481 | |
1,558 | 2006-08-03 | 3,511 | ||
1,557 | 2006-08-03 | 3,856 | ||
1,556 |
꿈꾸는사람 |
2006-08-02 | 1,708 | |
1,555 | 2006-08-03 | 4,759 | ||
1,554 |
질문 |
2006-07-31 | 1,499 | |
2006-07-31 | 3,778 | |||
1,552 |
질문 한가지 드리겠습니다. [2] |
2006-07-26 | 4,725 | |
1,551 | 2006-07-21 | 10,533 | ||
1,550 | 2006-07-21 | 3,615 | ||
1,549 |
무관 |
2006-07-19 | 1,415 | |
1,548 | 2006-07-19 | 3,473 | ||
1,546 |
궁굼이 |
2006-07-18 | 1,307 | |
1,545 | 2006-07-18 | 3,649 | ||
1,544 |
re: 파일을 웹에 개시 기능 [1] |
궁굼이 |
2006-07-18 | 1,270 |
1,543 |
질문자 |
2006-07-14 | 1,273 | |
1,542 |
re: 도움좀 주세요 [1] |
2006-07-15 | 3,447 | |
1,541 | 2006-07-13 | 3,539 | ||
1,540 | 2006-07-15 | 3,669 | ||
1,539 | 2006-07-16 | 3,366 | ||
1,538 | 2006-07-12 | 3,423 | ||
1,537 | 2006-07-12 | 3,628 |