mysql — SQL-поиск между дд / мм / гггг при наличии гггг-мм-дд чч: мм: сс

Я хочу показать данные между датами, которые я выбрал.

Уже пробовал SELECT * from myTable WHERE myDATE BETWEEN LIKE 'datefrom%' AND LIKE 'dateend%'
и для CONVERT я все еще не понимаю, потому что не нашел тот, у которого есть полный запрос об этом.

Как и мой заголовок, мое поле sql имеет тип datetime и имеет формат «гггг-мм-дд чч: мм: сс»
в то время как в php у меня есть формат дд / мм / гггг

Пожалуйста, отвечайте на это только в PHP-коде и SQL-запросе и в полном режиме.

Спасибо 🙂

-1

Решение

Вы можете сделать между YYYY-MM-DD а также YYYY-MM-DD (исключая время) в MySQL, но MySQL не поймет dd/mm/yyyy поэтому вам нужно преобразовать его в нужный формат.

Когда вы исключаете время, оно интерпретируется как 00:00:00 поэтому, в зависимости от вашей ситуации, вы можете сделать между YYYY-MM-DD а также YYYY-MM-DD 23:59:59

Примечание: PHP не будет правильно интерпретировать dd/mm/yyyy или. PHP даты функции понимают mm/dd/yyyy а также dd-mm-yyyy,

1

Другие решения

Как сказали комментаторы, вам сначала нужно будет преобразовать дату в формате дд / мм / гггг в то, что предпочитает MySQL, а это ГГГГ-мм-дд Ч: i: s

Итак, как вы конвертируете свою дату в дружественную для MySQL дату? Сделайте что-то вроде этого:

<?php
$datefrom = '25/06/2015';
$dateend = '20/10/2015';

// create an array with dd, mm and yyyy
$splitFrom = explode('/', $datefrom);
$splitTo = explode('/', $dateend);

// mktime takes hour, minutes, seconds, month, day, year arguments
// create timestamp using mktime and pass it to date and format it to
// mysql friendly timestamp
$mysqlFrom = date('Y-m-d H:i:s',  mktime(0, 0, 0, $splitFrom[1], $splitFrom[0], $splitFrom[2]));
$mysqlTo = date('Y-m-d H:i:s',  mktime(0, 0, 0, $splitTo[1], $splitTo[0], $splitFrom[2]));

// echo sprintf("From %s and To %s", $mysqlFrom, $mysqlTo);

// this is where you would do your SQL statement and substitute $mysqlFrom and $mysqlTo dates

?>

Обратите внимание, что это всего лишь элементарный пример, показывающий, как вы можете решить проблему самостоятельно. Со временем вам придется оптимизировать этот вид кода.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector