배너 제작중 짠 쿼리입니다.
배너 테이블의 컬럼
start_date (varchar(10)) 노출 시작 날짜 ex) 2022-03-01
start_hour (varchar(2)) 노출 시작 시 ex) 12 (1자리인 경우 앞에 0을 붙여 저장 )
start_min (varchar(2)) 노출 시작 분 ex) 05 (1자리인 경우 앞에 0을 붙여 저장 )
end_date (varchar(8)) 노출 종료 날짜 ex) 2022-03-07
end_hour (varchar(2)) 노출 종료 시 ex) 03 (1자리인 경우 앞에 0을 붙여 저장 )
end_min (varchar(2)) 노출 종료 분 ex) 07 (1자리인 경우 앞에 0을 붙여 저장 )
쿼리 ==>
SELECT * FROM g5_app_banner
where ( DATE_FORMAT( now() , '%Y%m%d%H%i') between
CONCAT( CONCAT( REGEXP_REPLACE(start_date , '[^[:alnum:][:space:]]+', '') , '' , start_hour ) , '' , start_min )
and CONCAT( CONCAT( REGEXP_REPLACE( end_date , '[^[:alnum:][:space:]]+', '') , '' , end_hour ) , '' , end_min )
) and use_yn = 'Y' limit 1
설명
REGEXP_REPLACE(start_date , '[^[:alnum:][:space:]]+', '') ==> 날짜에 들어간 - 를 제거하고 yyyymmdd
스타일로 만들어 줍니다.
concat 날짜를 모두 붙여서 %Y%m%d%H%i 형식으로 만들어 줍니다.
결과
시작날짜와 노출종료일자인 게시물(배너)만 찾아서 가져옵니다. (맥스1건)
댓글 4개
게시글 목록
| 번호 | 제목 |
|---|---|
| 17316 | |
| 17315 |
JavaScript
시계 스크립트 그런데 페이지 뜨는건 느린게 문제네...
|
| 17313 |
PHP
php 업로드 소스
4
|
| 17312 | |
| 17305 | |
| 17304 | |
| 17298 |
node.js
간단한 채팅
|
| 17294 | |
| 17291 | |
| 17285 | |
| 17284 |
JavaScript
두가지 형태의 페이지 로딩 [ 로딩중, 로딩 프로그레스바 ]
2
|
| 17279 | |
| 17272 | |
| 17271 |
JavaScript
관계에 따른 메뉴 구성방안
1
|
| 17270 | |
| 17262 | |
| 17255 | |
| 17248 |
JavaScript
엘레먼트 요소에서 data 를 이벤트 핸들러로 사용하기
4
|
| 17241 | |
| 17238 |
MySQL
interval에 쓸 수 있는 값
3
|
| 17236 |
PHP
탈퇴합니다.
6
|
| 17220 | |
| 17217 |
JavaScript
회원가입
2
|
| 17216 | |
| 17214 | |
| 17207 | |
| 17205 | |
| 17203 | |
| 17201 | |
| 17198 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기