[SQL] MySQL의 날짜 필드 만 월과 일 비교
SQLMySQL의 날짜 필드 만 월과 일 비교
어떻게 MySQL의 날짜 필드 만 월과 일을 비교? 예를 들어, 나는 하나 개의 테이블에 날짜를했습니다 : 2014년 7월 10일
마찬가지로, 다른 테이블의 다른 날짜 2000년 7월 10일. 난 단지 날과 달 날짜 필드에 동일 비교하려는.
나는이 형식을 시도했다. 그러나 나는 대답을 얻을 수 없다
select *
from table
where STR_TO_DATE(field,'%m-%d') = STR_TO_DATE('2000-07-10','%m-%d')
and id = "1"
해결법
-
==============================
1.사용 DATE_FORMAT 대신 :
사용 DATE_FORMAT 대신 :
SELECT DATE_FORMAT('2000-07-10','%m-%d')
수율
07-10
여기 DATE_FORMAT ()로 작성된 재 쿼리는 다음과 같습니다
SELECT * FROM table WHERE DATE_FORMAT(field, '%m-%d') = DATE_FORMAT('2000-07-10', '%m-%d') AND id = "1"
-
==============================
2.당신은 DAYOFMONTH와 MONTH 기능을 수행 할 수 있습니다
당신은 DAYOFMONTH와 MONTH 기능을 수행 할 수 있습니다
SELECT * FROM table WHERE DAYOFMONTH(field) = 31 AND MONTH(field) = 12 AND id = 1;
편집하다: 두 필드를 비교하려는 경우 물론 당신도 다음 쓸 수 있습니다 :
SELECT * FROM table WHERE DAYOFMONTH(field) = DAYOFMONTH(field2) AND MONTH(field) = MONTH(field2) AND id = 1 ...;
자세한 내용은 설명서를 보라 :
-
==============================
3.사용 MONTH 및 DAY 기능 :
사용 MONTH 및 DAY 기능 :
이 시도:
SELECT * FROM tableA a WHERE a.id = 1 AND MONTH(a.field) = MONTH('2000-07-10') AND DAY(a.field) = DAY('2000-07-10')
-
==============================
4.당신은 DATE_FORMAT를 사용할 수 있습니다 :
당신은 DATE_FORMAT를 사용할 수 있습니다 :
SELECT * FROM `table` WHERE DATE_FORMAT(STR_TO_DATE(`field`, '%Y-%m-%d'), '%d-%m') = DATE_FORMAT(STR_TO_DATE('2000-07-10','%Y-%m-%d'), '%d-%m')
또한 두번째 WHERE 유효하지 않다. 어쨌든 당신이 모든 행을 얻고 싶은 것뿐만 아니라 ID = 1
from https://stackoverflow.com/questions/24510108/compare-only-day-and-month-with-date-field-in-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 엑셀 VBA : MySQL의 데이터베이스에 쓰기 (0) | 2020.05.24 |
---|---|
[SQL] 내 SQL 동적 실행하고 저장 프로 시저에서 변수에 출력을 얻을 쿼리 (0) | 2020.05.23 |
[SQL] 는 SQL select 문의 다른 부분의 실행 순서는 무엇입니까? (0) | 2020.05.23 |
[SQL] 어떻게 SQL에서 같은 ID로 여러 행을 연결하는? (0) | 2020.05.23 |
[SQL] 저장 프로 시저에 데이터 테이블 전달 (0) | 2020.05.23 |