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 31192 게시물 읽기
No. 31192
두개의 날짜간 데이타 검색 조언을 구합니다.
작성자
산적
작성일
2018-09-03 10:28:31
조회수
1,035

SELECT * from Product_sales where

 

(From_date BETWEEN '2013-01-03'AND '2013-01-04') OR

 

(To_date BETWEEN '2013-01-03' AND '2013-01-04') OR

 

(From_date <= '2013-01-03' AND To_date >= '2013-01-04')

 

이렇게 검색을 하고 있는데

 

From_date가 2013-01-02이고 To_date가 2013-01-03인것도 검색이 되버립니다.

 

제가 원하는건 2013-01-03과 2013-01-04가 포함된 사이의 데이타를 원하는데 혹시 어떻게 수정해야 할지 아시면 조언좀 부탁드립니다.

 

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

기간 검색에서 검색기간에 걸쳐있는 기간을 뽑으려면
케이스별로 OR 절로 할수도 있지만 복잡하기도 하거니와
케이스를 누락해서 잘못 작성하는 경우도 많습니다.
기간검색은 간단하게 시작과 종료를 서로 교차하여 비교하면 됩니다.
이 때 하루가 겹치는 날짜가 포함될지 안될지에 따라 이퀄을 붙여줄지 안붙일지 결정하면 됩니다.
아래 쿼리에서 이퀄(=)만 빼시면 될 듯 하네요.
들다 뺄지? 한쪽만 뺄지도 요구사항에 맞춰 결정하셔야 합니다.


SELECT *
  FROM Product_sales
 WHERE From_date <= '2013-01-04'
   AND   To_date >= '2013-01-03'
;

마농(manon94)님이 2018-09-04 14:29:22에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
31195Mysql 저장 관련 질문드려요
손희찬
2018-10-03
283
31194쿼리문 부탁드립니다 초보^^ [3]
송석우
2018-09-14
874
31193컬럼명으로 사용할 수 없는 단어들은 어떤 것들이 있나요? [2]
조동건
2018-09-09
856
31192두개의 날짜간 데이타 검색 조언을 구합니다. [1]
산적
2018-09-03
1035
31191스크립트 짜는 것 좀 도와주실수 있나요? [3]
디비쵸봉
2018-08-23
1295
31190UQ에서 Q가 무슨 단어의 약자인가요? [2]
조동건
2018-08-12
1278
31189MySQL “오류1067: 프로세스가 예기치않게 종료되었습니다.” [1]
sun
2018-08-03
1320
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2018 DSN, All rights reserved.
작업시간: 0.069초, 이곳 서비스는
	PostgreSQL v10.4로 자료를 관리합니다