티스토리 뷰
보통 관리자 페이지에서 게시일을 등록하는 기능이 많이 들어가있다. 게시일을 등록하는것은 DateTimePicker를 주로써서 게시일을 등록하는데 문제는 관리자에서 등록한뒤에 프론트단에서 현재날짜와 비교해서 가져올때에 있다.
BULLETIN_DAY를 게시일의 컬럼명이고 데이터형도 DATE이다. 오라클에서 현재날짜는 SYSDATE 이다. 그리고 게시일과 현재날짜를 비교해주는 쿼리는
SELECT * FROM TABLE_NAME WHERE 1=1 AND BULLETIN_DAY <= SYSDATE
현재 관리자가 게시물을 2019/01/21 11:30:42 에 올리게 되면 대부분은 19/01/21 정각부터 게시물이 보여진다고 생각한다. 하지만 현재쿼리는 현재날짜가 2019/01/21 11:30:42 에 게시물이 보여지고 그전에는 게시물이 나오지 않는다.
즉, 게시일을 2019/01/21 00:00:00 로 바꿔서 가져오는 방법과 SYSDATE를 2019/01/21 23:59:59로 만들어서 가져오는 처리를 해줘야한다.
1. 게시일의 시분초를 초기화하여 가져오기
TRUNC로 게시일의 시분초를 초기화
SELECT * FROM TABLE_NAME WHERE 1=1 AND TRUNC(BULLETIN_DAY) <= SYSDATE
2. 현재날짜의 시분초를 23:59:59로 변환해서 가져오기
현재날짜의 시분초를 TRUNC로 초기화 시켜주면 현재날짜의 시분초는 00:00:00이 되는데 거기에 0.99999 를더해주면 23:59:59 가 되어서 게시일을 언제올리던 현재날짜에 있는 데이터는 전부다 가져올 수 있다.
SELECT TRUNC(SYSDATE)+ 0.99999 FROM DUAL;
반응형
'DATABASE > ORACLE' 카테고리의 다른 글
ORACLE SQL,PL/SQL NVL (0) | 2019.12.19 |
---|---|
ORA-06550: 호출 시 인수의 갯수나 유형이 잘못되었습니다 (0) | 2019.12.10 |
오라클 TO_CHAR() 와 TO_DATE() (0) | 2019.01.22 |
오라클 SELECT 개수 제한 (0) | 2019.01.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- html
- fontawesome 4.7
- scroll
- sliding scroll
- JavaScript
- jQuery
- js scroll
- css
- jQuery CDN
- Javscript
- defer
- JS
- getBoundingClientRect
- 반응형
- FontAwesome
- Sliding
- fontawesome 4.7 cdn
- Slick
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함