이 글은 시간 필드에 대한 전통적인 쿼리 방법과 UNIXtimestamp쿼리 기술을 포함하여 MySqlquery 방법을 주로 소개합니다. 필요한 친구들은 이 글을 참고할 수 있습니다.
예제에서는 MySql에서 기간을 쿼리하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.
MySql에서 기간을 쿼리하는 방법을 모든 사람이 아는 것은 아닙니다. 참고용으로 MySql에서 기간을 쿼리하는 두 가지 방법은 다음과 같습니다.
MySql의 시간 필드에는 날짜, 시간, 날짜/시간, 타임스탬프 등이 포함됩니다. 데이터를 저장할 때 날짜/시간 유형을 사용하여 전체 시간을 한 필드에 저장하는 경우가 많습니다. 한 필드에 날짜가 있습니다. 필드에는 시간이 저장됩니다. 어떻게 저장되든 실제 애플리케이션에서는 "기간" 유형을 포함하는 쿼리가 있을 가능성이 높습니다. 예를 들어 접속 기록 데이터베이스는 일일 방문 횟수를 계산해야 하며 매일이 기간입니다. 다음은 MySql에서 기간을 쿼리하는 두 가지 일반적인 방법을 소개합니다. 다른 데이터베이스도 유사하게 구현할 수 있습니다.
방법 1: 기존 방법, 즉 시작 시간과 종료 시간을 지정하고 "between" 또는 "6745434bf92a2979d589ede8e8e7bea9"를 사용하여 2010년 3월 1일부터 3월 2일까지 쿼리하는 등의 조건을 설정합니다. , 2010 일별 데이터 항목 수는
코드를 사용하면 됩니다.
select count(*) from sometable where datetimecolumn>='2010-03-01 00:00:00' and datetimecolumn<'2010-03-02 00:00:00'
그러나 시간은 정수 유형의 데이터가 아니기 때문에 이 방법은 비교할 때 효율성이 떨어지므로 양이 데이터가 크면 시간을 정수 UNIX 타임스탬프로 변환할 수 있습니다. 이것이 방법 2입니다.
방법 2: UNIX 타임스탬프. 각 시간은 고유한 UNIX 타임스탬프에 해당합니다. 타임스탬프는 '1970-01-01 00:00:00'부터 시작하여 1초마다 1씩 증가합니다. MySql에는 기존 시간과 UNIX 시간을 교환하기 위한 함수 가 내장되어 있습니다.
UNIX_TIMESTAMP(datetime)FROM_UNIXTIME(unixtime)
SELECT UNIX_TIMESTAMP('2010-03-01 00:00:00')Return 1267372800Run 코드는 다음과 같습니다.
SELECT FROM_UNIXTIME(1267372800)Returns '2010-03-01 00:00:00' 따라서 시간 필드의 데이터를 정수 UNIX 시간으로 바꿀 수 있습니다. 방식으로 비교시간이 정수비교가 되어
인덱스를 구축하게 되면 효율성이 크게 향상될 수 있습니다. 쿼리할 때 비교하기 전에 시작 시간과 종료 시간을 각각 UNIX 시간으로 변환해야 합니다. 예:
select count(*) from sometable where datetimecolumn>=UNIX_TIMESTAMP('2010-03-01 00:00:00') and datetimecolumn<UNIX_TIMESTAMP('2010-03-02 00:00:00')호출 프로그램에서 UNIX 시간으로 변환한 후 통과할 수도 있습니다. 간단히 말해서 이 방법은 기간을 빠르게 쿼리하는 데 유용하지만 표시 시간을 다시 반전시켜야 합니다.
위 내용은 MySql 쿼리 기간 방법 샘플 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!