반응형
MySQL에서 날짜 비교
주어진 두 날짜 사이에있는 데이터베이스의 날짜를 비교하고 싶습니다. 데이터베이스의 열은 DATETIME이며 datetime 형식이 아닌 날짜 형식과 만 비교하고 싶습니다.
SELECT * FROM `players` WHERE CONVERT(CHAR(10),us_reg_date,120) >= '2000-07-05' AND CONVERT(CHAR(10),us_reg_date,120) <= '2011-11-10'
위의 SQL을 실행할 때이 오류가 발생합니다.
SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 'us_reg_date, 120)> ='2000-07-05 'AND CONVERT (CHAR (10), us_reg_date, 120) <='2011- '근처에서 사용할 올바른 구문을 확인하십시오. 라인 1
이 문제를 어떻게 해결할 수 있습니까?
아래 쿼리를 시도해 볼 수 있습니다.
select * from players
where
us_reg_date between '2000-07-05'
and
DATE_ADD('2011-11-10',INTERVAL 1 DAY)
즉 SQL 서버 구문 문자열로 날짜를 변환. MySQL에서는 DATE 함수를 사용하여 datetime에서 날짜를 추출 할 수 있습니다 .
SELECT *
FROM players
WHERE DATE(us_reg_date) BETWEEN '2000-07-05' AND '2011-11-10'
그러나 열의 인덱스를 활용 us_reg_date
하려면 대신 이것을 시도 할 수 있습니다.
SELECT *
FROM players
WHERE us_reg_date >= '2000-07-05'
AND us_reg_date < '2011-11-10' + interval 1 day
이것은 나를 위해 작동합니다.
select date_format(date(starttime),'%Y-%m-%d') from data
where date(starttime) >= date '2012-11-02';
형식 문자열 '% Y- % m- % d'및 입력 날짜 형식을 확인합니다.
안녕 여러분 도와 주셔서 감사합니다.
여기에 코드가 있습니다 .......
SELECT * FROM table
WHERE STR_TO_DATE(column, '%d/%m/%Y')
BETWEEN STR_TO_DATE('29/01/15', '%d/%m/%Y')
AND STR_TO_DATE('07/10/15', '%d/%m/%Y')
이것이 나를 위해 일한 것입니다.
select * from table
where column
BETWEEN STR_TO_DATE('29/01/15', '%d/%m/%Y')
AND STR_TO_DATE('07/10/15', '%d/%m/%Y')
로드하는 데 시간이 오래 걸리므로 이전 솔루션에서 STR_TO_DATE (열, '% d / % m / % Y')를 변경해야했습니다.
참고 URL : https://stackoverflow.com/questions/3651985/compare-dates-in-mysql
반응형
'Programing' 카테고리의 다른 글
Windows 7에 Apache Bench를 설치하는 방법은 무엇입니까? (0) | 2020.10.14 |
---|---|
Python : PATH 환경 변수를 수정하는 플랫폼 독립적 인 방법 (0) | 2020.10.14 |
Android : 코드에서 속성 값을 얻는 방법은 무엇입니까? (0) | 2020.10.14 |
Mongoose : 전체 사용자 목록 가져 오기 (0) | 2020.10.14 |
ng 스타일을 사용하여 div 너비를 설정하는 방법 (0) | 2020.10.14 |