MySQL BETWEEN 구문
BETWEEN 연산자는 WHERE 표현식에서 두 값 사이의 데이터 범위를 선택하는 데 사용됩니다. BETWEEN은 AND와 함께 사용되며 구문은 다음과 같습니다.
WHERE column BETWEEN value1 AND value2 WHERE column NOT BETWEEN value1 AND value2
일반적으로 value1은 value2보다 작아야 합니다. BETWEEN 앞에 NOT 연산자가 있으면 BETWEEN의 반대, 즉 이 범위 밖의 값을 선택한다는 의미입니다.
BETWEEN 인스턴스
uid가 2~5 사이인 사용자 데이터 선택:
SELECT * FROM user WHERE uid BETWEEN 2 AND 5
다음과 같이 쿼리 결과를 반환합니다.
숫자 유형 외에도 BETWEEN은 문자열 범위도 지원합니다. 다음은 사용자 이름이 a에서 j 사이이고 단일 문자 k/K를 포함하는 모든 사용자를 선택합니다.
SELECT * FROM user WHERE username BETWEEN 'a' AND 'k'
문자 범위 중국어 문자도 지원하지만 일반적으로 의미가 없습니다.
MySQL BETWEEN Boundary
거의 모든 데이터베이스가 BETWEEN ... AND 연산자를 지원하지만, 서로 다른 데이터베이스는 BETWEEN ... AND를 다르게 처리합니다. MySQL에서 BETWEEN에는 2와 5 사이의 uid를 사용하여 사용자 데이터를 선택하는 위의 예와 같이 value1과 value2 경계 값이 포함됩니다.
일부 데이터베이스에는 value1 및 value2 경계 값이 포함되어 있지 않으며(> 및 <와 유사), 일부 데이터베이스에는 value1은 포함되지만 value2는 포함되지 않습니다(>= 및 <와 유사). 따라서 BETWEEN ... AND를 사용할 때는 데이터베이스가 BETWEEN 경계 값을 어떻게 처리하는지 확인하세요.
MySQL BETWEEN 시간 및 날짜
BETWEEN AND는 시간 또는 날짜 범위 내의 콘텐츠를 검색하는 데 자주 사용됩니다. 다음은 몇 가지 일반적인 BETWEEN 시간 및 날짜 예입니다.
// int 时间戳格式,查询 2008-08-08 20:00:00 到 2009-01-01 零点之前的数据 SELECT * FROM table WHERE column_time BETWEEN 1218196800 AND 1230739199 // DATE 格式,查询 2008-08-08 到 2009-01-01 零点之前的数据 SELECT * FROM table WHERE column_time BETWEEN '2008-08-08' AND '2009-01-01' // DATETIME 格式,查询 2008-08-08 20:00:00 到 2009-01-01 零点之前的数据 SELECT * FROM table WHERE column_time BETWEEN '2008-08-08 20:00:00' AND '2008-12-31 23:59:59'
그러나 현재 시간의 데이터를 쿼리하려면 >= 연산자를 사용하는 것이 좋습니다.
// DATETIME 格式,查询 2008-08-08 20:00:00 到当前时刻的数据 SELECT * FROM table WHERE column_time >= '2008-08-08 20:00:00'
동일한 요구 사항과 다른 필드 유형이 다르게 작성될 수 있음을 알 수 있습니다. 효율성 측면에서는 int 타임스탬프 형식이 가장 효율적입니다.
위의 BETWEEN 예시는 모두 SELECT 쿼리이지만, BETWEEN은 WHERE 표현식을 적용하는 UPDATE, DELETE 및 기타 SQL에서도 사용할 수 있습니다.
MySQL BETWEEN 데이터 비교
BETWEEN에도 데이터 비교 기능이 있는데, 구문은 다음과 같습니다.
expr BETWEEN min AND max
expr 표현식의 값이 크거나 같을 때 min 및 max 이하인 경우 BETWEEN의 반환 값은 1이고, 그렇지 않으면 0을 반환합니다. 이 함수를 사용하면 표현식이나 값이 특정 범위에 있는지 확인할 수 있습니다.
// 返回 0 SELECT 1 BETWEEN 2 AND 3 // 返回 1 SELECT 'b' BETWEEN 'a' AND 'c' // 判断日期范围 SELECT 20080808 BETWEEN 20080101 AND 20090101
BETWEEN 및 =, >와 같은 연산자는 다음과 같습니다. 어떤 경우에는 유사한 기능이지만 BETWEEN은 더 높은 컴퓨팅 수준을 가지며 훨씬 더 효율적입니다. 물론 BETWEEN은 경계 값 문제로 인해 유연성이 부족하므로 상황에 따라 사용할 연산자를 구체적으로 처리해야 합니다.
위 내용은 MySQL BETWEEN 사용법 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(m.sbmmt.com)를 참고해주세요!