홈>
MySQL에서이 작업을 수행하면 작동합니다 :
SELECT * FROM reservations
WHERE
reservationStartDate >= '2018-01-01'
AND
reservationEndDate <= '2018-02-16'
AND
reservationSpace = 'kantoor-1'
그래서 다음과 같은 기능을 만들고 싶습니다 :
public function checkReservations($startdate, $enddate, $workspace, $bind="") {
//SELECT * FROM reservations WHERE reservationStartDate >= '2018-01-19' AND reservationEndDate <= '2018-02-01' AND reservationSpace = 'kantoor-1';
// Date format = 2018-12-31
$sql = "
SELECT * FROM apolloworkspaces.reservations
WHERE
reservationStartDate >= '".$startdate."'
AND
reservationEndDate <= '".$enddate."'
AND
reservationSpace = '".$workspace."'
"
;
$this->run($sql,$bind);
}
그리고 PHP에서는 다음을 사용합니다 :
$test2 = $db->checkReservations('2018-01-01', '2018-02-16', 'kantoor-1');
echo '<pre>'.print_r($test2,true).'</pre>';
아무것도 보여주지 않습니다 ... 거의 날짜가 Y-m-d로 변경되었습니다.
- 답변 # 1
- 답변 # 2
이것을 시도하십시오 :
SELECT * FROM reservations WHERE reservationStartDate >= '22-01-2018' AND reservationEndDate<= '03-02-2018'
- 답변 # 3
MySQL database
에서 행을 선택해야하는 경우 날짜 범위의 표를 보려면 다음과 같은 명령을 사용해야합니다.SELECT * FROM table WHERE date_column >= '2014-01-01' AND date_column <= '2015-01-01';
STR_TO_DATE()
를 사용할 수 있습니다 문자열을MySQL
로 변환 날짜 값 :
그러나 pyzwyz로 열을 변환하는 것이 현명합니다. 문자열을 사용하는 대신SELECT * FROM reservations WHERE reservationStartDate BETWEEN STR_TO_DATE('22-01-2018', '%d-%m-%Y') AND STR_TO_DATE('03-02-2018', '%d-%m-%Y')
DATE data type
관련 자료
- sql - MySQL 테이블 열을 사용하지 않고 두 열 사이의 범위 날짜 선택
- mysql - 열이 유닉스 형식 인 경우 두 날짜 사이에 행 가져 오기
- sql - MySQL의 Between 절을 사용하여 개수 (구별) 속도를 높이는 방법
- Notepad ++ 줄 시작과 문자열 사이의 특정 문자 찾기
- PHP에서 mysql에서 여러 행을 선택하는 방법은 무엇입니까?
- sql - MySQL 쿼리 INSERT/SELECT/UPDATE 마지막 행
- linux - mysql이 시작되지 않습니다오류 - su : 경고 : 디렉토리를/nonexistent로 변경할 수 없음 : 해당 파일 또는 디렉토리가 없습니다
- MySQL 조건에서 IF 선택
- MySQL Select 및 IF () 문
- MySQL - mysql - null을 포함한 모든 left join 선택
- mysql - PHP는 형식이 지정된 날짜 열이있는 두 날짜 사이의 레코드 선택
- r - 위치 x가 목록에 저장된 시작 (i = 1 ~ i = max)과 끝 (i = 1 ~ i = max) 위치 사이에 있는지 테스트
- c# - 두 텍스트 상자 범위 사이의 날짜가있는 SQL에서 데이터 선택
- html - PHP를 사용하여 mysql db에서 특정 필드를 선택하고 에코
- php - MySQL 쿼리의 BETWEEN 절에서 와일드 카드 %%를 사용할 수있는 방법이 있습니까?
- join - 문에서 중첩 선택으로 업데이트하면 mysql이 작동하지 않습니다
- mariadb와 mysql의 행 번호 매기기 차이
- javascript - 선택적으로 콜론 ( - )으로 구분 된 1 ~ 5 퍼센트 기호 (%)의 형식이있는 경우에만 문자열과 일치하는 정규식을 작성하는 데 도움이 필요하십니까?
- sql - 5 개 데이터베이스 사이의 MYSQL 함수 MAX ()
- date - mysql - 어제와 오늘 사이에 특정 시간이 포함 된 쿼리 레코드
관련 질문
- HTML PHP, while 루프로 만든 라디오 버튼의 값을 어떻게 설정합니까?
- php : 중첩 배열 구조의 특정 ID에 대해 전체 테이블/레code 가져오기
- PHP에서 mysql 구문 "Insert Into" 오류
- PHP에서 매분마다 새 레code를 mysql 행에 자동으로 보내는 방법
- php : 들어오는 Webhook 처리 및 DB에 삽입
- 하나의 PHP 파일에서 여러 쿼리 사용 이전 쿼리의 결과 집합
- php : 최근 3개월 이후 기록이 없는 데이터베이스에서 선택
- php : 연결 대신 $notes의 결과를 입력하는 $appended 노트 이유
- php : 한 테이블에서 다른 테이블로 데이터를 복사하고 laravel의 버튼 하나로 메인 테이블에서 데이터 삭제
- Sequelize mysql은 mysql 데이터베이스에서 시간대를 잘못 읽습니다.
STR_TO_DATE
를 사용할 수 있습니다 MySQL 기능 :BETWEEN
및STR_TO_DATE
BETWEEN
reservationStartDate >= '22-01-2018' AND reservationStartDate <= '03-02-2018'
의 더 나은 형태입니다 (속도 측면에서도)하지만 귀하의 경우에는STR_TO_DATE
에서만 작동합니다. 'd-m-Y'문자열을 실제 날짜 형식으로 변환하여 MySQL에서 처리 할 수 있도록합니다.DATE
유형 입력란가장 좋은 일은
DATE
를 사용하는 것입니다 날짜를 저장할 필드를 입력하므로STR_TO_DATE
가 필요하지 않습니다. 더 이상.