>  기사  >  데이터 베이스  >  mysql에서 기간을 쿼리하는 방법

mysql에서 기간을 쿼리하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-10-28 15:34:226113검색

Mysql 쿼리 기간 방법: 1. 전통적인 방법, 즉 시작 시간과 종료 시간을 지정합니다. 2. UNIX 타임스탬프, 각 시간은 고유한 UNIX 타임스탬프에 해당하며 함수는 [UNIX_TIMESTAMP(datetime)]입니다.

mysql에서 기간을 쿼리하는 방법

Mysql 쿼리 기간 방법:

방법 1: 기존 방법, 즉 시작 시간과 종료 시간을 지정하고 "between" 또는 "6745434bf92a2979d589ede8e8e7bea9"를 사용합니다. 조건을 설정하려면(예: 2010년 3월 1일부터 2010년 3월 2일까지의 데이터 항목 수를 쿼리하려면

select count(*) from sometable where datetimecolumn>=&#39;2010-03-01 00:00:00&#39; and datetimecolumn<&#39;2010-03-02 00:00:00&#39;但是,这种方法由于时间不是整数型数据,所以在比较的时候效率较低,所以如果数据量较大,可以将时间转换为整数型的UNIX时间戳,这就是方法二。

방법 2: UNIX 타임스탬프, 각 시간은 고유한 UNIX 타임스탬프에 해당합니다. 스탬프는 '1970-01-01 00:00:00'(0)부터 타이밍을 시작하고 1초마다 1씩 증가합니다. MySql에는 기존 시간과 UNIX 시간 간의 교환 기능이 내장되어 있습니다.

  • UNIX_TIMESTAMP(datetime)

  • FROM_UNIXTIME(unixtime)

예를 들어,

코드를 실행하는 방법은 다음과 같습니다.

SELECT UNIX_TIMESTAMP(&#39;2010-03-01 00:00:00&#39;)

return 126 7372800

Run

SELECT FROM_UNIXTIME(1267372800)

Return '2010-03-01 00:00:00'

따라서 시간 필드의 데이터를 정수 UNIX 시간으로 대체하면 비교 시간이 정수 비교 및 ​​인덱스 생성 이렇게 하면 효율성이 크게 향상될 수 있습니다. 쿼리할 때 비교하기 전에 시작 시간과 종료 시간을 각각 UNIX 시간으로 변환해야 합니다. 예:

select count(*) from sometable where datetimecolumn>=UNIX_TIMESTAMP(&#39;2010-03-01 00:00:00&#39;) and datetimecolumn<UNIX_TIMESTAMP(&#39;2010-03-02 00:00:00&#39;)

또한 호출 프로그램에서 UNIX 시간으로 변환한 다음 이를 MySql에 전달할 수도 있습니다. 쿼리 시간을 빠르게 하는 데 도움이 되지만 표시 시간을 다시 반전시켜야 합니다.

더 많은 관련 무료 학습 권장사항: mysql 튜토리얼(동영상)

위 내용은 mysql에서 기간을 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.