등록일과 마감일 사이의 게시물만 가져오는 쿼리 질문드립니다. 0 8 575

by 댕댕구 [2021.08.23 16:02:42]


등록일과 마감일 사이의 게시물만 보이게 하고 싶은데 

SELECT * FROM table where <![CDATA[table_regdate <= table_enddate]]> and <![CDATA[table_enddate>= table_regdate]]>

위 쿼리를 사용했더니  마감일이 지났음에도 완벽하게 처리가 안되는 게시글들이 몇개가 나오네요.

시작일은 timestamp 이고 마감일은 date 타입을 사용 중이고

마감일은 시분초로 나누지 않고 하루가 지나면 사라지게 하고 싶습니다.

어떤 부분이 잘못된건지 도움을 얻을 수 있을까요?

 

 

 

by 마농 [2021.08.23 16:25:30]

왜? 테이블 컬럼 끼리 비교하나요?
테이블의 컬럼을 조건값과 비교해야죠?
조건값으로 무엇이 주어져야 하나요? 현재일자? 검색기간?


by 댕댕구 [2021.08.23 16:34:32]

아... 제가 오라클은 아주 초보라서 잘 이해를 못했습니다 ㅠㅠ

시작일과 마감일 사이의 값만 보이게 하고싶은 쿼리를 만약 저게 아니라면 어떤 방식으로 짜야할까요?


by 마농 [2021.08.23 16:58:07]

(원본) 테이블에 저장된 컬럼이 어떤 컬럼이고 어떤 값이 들어 있는지 예시자료를 보여주시고
(조건) 검색하고자 하는 조건이 어떻게 되는지 검색조건 예시값을 보여주세요.
(결과) 그에 따른 결과표를 보여주세요


by 댕댕구 [2021.08.23 17:10:12]

survey_regdate TIMESTAMP
survey_enddate DATE         데이터 타입구요

 

survey_id, question_type, survey_title, user_name, survey_regdate, survey_enddate, survey_cnt, survey_isopen

109    0    최근 본 영화는?    홍길동    23    21/08/23 15:23:53.800000000    21/08/23     0

값들을 넣은 것입니다.

위에 enddate에 시간은 21/08/23 16: 23으로 지정했지만 게시물에 남아있는 상태입니다.

 

검색하고자 하는 조건은 

survey_regdate    와   survey_enddate  사이의 값만 게시판에 보여지는 쿼리를 작성하는 것이고

 

그대로 실행을 하면 

109    0    최근 본 영화는?    홍길동    23    21/08/23 15:23:53.800000000    21/08/23    0
1    0    최근 본 영화는?    아이퐁    23    21/08/23 13:50:29.879000000    21/08/30    0

 

이 두개의 값이 보여지고 있습니다... 


 

 


by 마농 [2021.08.23 18:05:30]

검색하고자 하는 조건은
"survey_regdate 와 survey_enddate 사이의 값만 게시판에 보여지는 쿼리" 라고 하셨는데...
대상 컬럼만 나와 있고 비교 기준 조건이 뭔지 안나와 있네요.
조건이 뭘까요? 오늘날짜 기준인가요? 아니면 현재 시각 기준인가요?


by 댕댕구 [2021.08.24 09:33:40]

아... 이제 이해했습니다! 현재 시간을 기준으로 입니다 ㅠㅠㅠ 아유 귀찮으실텐데 감사합니다 ㅠㅠ


by 마농 [2021.08.24 09:35:49]
-- 현재 시각 기준 --
SELECT *
  FROM t
 WHERE survey_regdate <= systimestamp
   AND survey_enddate >= sysdate
;

-- 오늘 날짜 기준 --
SELECT *
  FROM t
 WHERE survey_regdate <  CAST(TRUNC(sysdate) + 1 AS timestamp)
   AND survey_enddate >= TRUNC(sysdate)
;

 


by 댕댕구 [2021.08.24 11:06:09]

제가 너무 부족해서 답변이 힘드셨을텐데 정말 감사합니다!!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입