IT Share you

날짜 / 시간 범위에서 데이터 선택

shareyou 2020. 11. 16. 23:11
반응형

날짜 / 시간 범위에서 데이터 선택


MySQL에서 날짜 범위 사이의 데이터를 어떻게 선택합니까? datetime열은 24 시간 줄 루어 시간 형식입니다.

select * from hockey_stats 
where game_date between '11/3/2012 00:00:00' and '11/5/2012 23:59:00' 
order by game_date desc;

이 기간 사이에 데이터가 있어도 아무것도 반환하지 않습니다. 'from''to' 필드 의 값을 강제로 datetime쿼리 입력해야합니까?


날짜 형식을 업데이트해야합니다.

select * from hockey_stats 
where game_date between '2012-03-11 00:00:00' and '2012-05-11 23:59:00' 
order by game_date desc;

다음은 날짜 함수를 사용하는 간단한 방법입니다.

select *
from hockey_stats
where date(game_date) between date('2012-11-03') and date('2012-11-05')
order by game_date desc

간단한 방법 :

select  * from  hockey_stats 
where  game_date >= '2012-03-11' and game_date  <= '2012-05-11'

STR_TO_DATE 함수 를 사용해야 할 것입니다 .

select * from hockey_stats 
where
  game_date between STR_TO_DATE('11/3/2012 00:00:00', '%c/%e/%Y %H:%i:%s')
                and STR_TO_DATE('11/5/2012 23:59:00', '%c/%e/%Y %H:%i:%s') 
order by game_date desc;

(game_date가 문자열 인 경우 STR_TO_DATE를 사용해야 할 수 있습니다.)


MySQL 날짜 형식은 YMD입니다. Y / M / D를 사용하고 있습니다. 그것은 잘못된 것입니다. 쿼리를 수정하십시오.

Y / M / D와 같이 날짜를 입력하면 데이터베이스에 Null 값이 삽입됩니다.

PHP를 사용하고 있고 양식에서 얻은 날짜가 Y / M / D와 같으면 문을 사용하여이를 대체 할 수 있습니다.

out_date=date('Y-m-d', strtotime(str_replace('/', '-', $data["input_date"])))

간단한 방법으로 다음과 같이 쿼리 할 수 ​​있습니다.

select * from hockey_stats 
where game_date between '2018-01-01' and '2018-01-31';

이것은 시간이 문제가되지 않는다면 작동합니다.

시간을 고려하면 다음과 같은 방식으로도 따릅니다. select * from hockey_stats where (game_date between '2018-02-05 01:20:00'and '2018-02-05 03:50:00'); 이것은 MySQL 서버용입니다.


당신도 사용자 수 STR_TO_DATE의 당신이 게시 한 형식에 따라 자신의 날짜 매개 변수를 기능을 전달합니다

select * from hockey_stats where game_date 
  between STR_TO_DATE('11/3/2012 00:00:00', '%c/%e/%Y %H:%i:%s')
  and STR_TO_DATE('11/5/2012 23:59:00', '%c/%e/%Y %H:%i:%s') 
order by game_date desc;

또는 MySQL이 날짜 YYYY : MM : DD HH : mm : SS를 처리하는 형식을 사용하고 쿼리를 다음과 같이 사용하십시오.

select * from hockey_stats where game_date between '2012-03-11 00:00:00' and'2012-05-11 23:59:00' order by game_date desc;


데이터베이스에 game_date 데이터를 삽입하는 방법에 대해 date defend를 검색해야합니다. 예를 들어 긴 날짜 또는 짧은 날짜 값을 삽입 한 경우.

SELECT * FROM hockey_stats WHERE game_date >= "6/11/2018" AND game_date <= "6/17/2018"

BETWEEN 을 사용할 수도 있습니다 .

SELECT * FROM hockey_stats WHERE game_date BETWEEN "6/11/2018" AND "6/17/2018"

그렇게 간단합니다.

참고 URL : https://stackoverflow.com/questions/15821379/select-data-between-a-date-time-range

반응형