Форум программистов, компьютерный форум, киберфорум
PHP: Laravel
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
4 / 4 / 3
Регистрация: 26.05.2014
Сообщений: 354
1

Сравнение дат в запросе

16.10.2021, 18:43. Показов 2470. Ответов 4

Author24 — интернет-сервис помощи студентам
Мне нужно получить количество заявок, у которых дата изменения находится в пределах date_start и date_finish. Мой запрос выглядит так:
PHP
1
$query = DB::table('tickets')->whereBetween('updated_at', ['date_start', 'date_finish'])->count();
но получаю 0. Может ли это быть из-за того что типы полей у дат разные?
updated_at - тип timestamp
date_start, date_finish - тип datetime
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2021, 18:43
Ответы с готовыми решениями:

Сложение и сравнение дат в SQL запросе
Добрый день! Есть задача сделать выборку из БД по условию, в которому сумма даты, указанной в поле...

Сравнение дат в SQL запросе (база Access)
Как сравнить две даты в SQL запросе. Одна берется из таблицы, вторая текущая дата. База - Access2000

Сравнение двух дат и вывод дат находящихся между ними
Здравствуйте! Тут такое дело, вводятся две определенные ДАТЫ в Edit1 и Edit2 в формате...

Вычитание дат в запросе
я уже часа 4 изучаю ваш форум, но так и не нашел решения, которое бы мне помогло. имеется поле...

Вычитание дат в запросе
проблема такая: у меня есть столбец с началом сессии, столбец с окончанием сессии, и столбец...

4
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
16.10.2021, 19:33 2
Вместо count впишите toSql и выведете $query на экран. Результат выложите здесь.
Не уверен, но возможно, что значения из массива воспринимаются не как имена полей, а как строки.
0
4 / 4 / 3
Регистрация: 26.05.2014
Сообщений: 354
16.10.2021, 19:37  [ТС] 3
PHP
1
"select * from `tickets` where `updated_at` between ? and ?"
то есть нужно сначала получить значения date_start, date_finish?
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
16.10.2021, 19:48 4
Лучший ответ Сообщение было отмечено lev_ как решение

Решение

Цитата Сообщение от lev_ Посмотреть сообщение
то есть нужно сначала получить значения date_start, date_finish?
Нет. Сделайте с помощью подстановки raw-значений.

Например, так:
PHP
1
DB::table('tickets')->whereRaw('updated_at between date_start and date_finish')->count();
Или в тот массив для whereBetween передавайте значения. пропущенные через DB::raw
1
4 / 4 / 3
Регистрация: 26.05.2014
Сообщений: 354
16.10.2021, 19:49  [ТС] 5
спасибо, вот теперь получилось
0
16.10.2021, 19:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2021, 19:49
Помогаю со студенческими работами здесь

Формат дат в sql запросе
Добрый день друзья. Делаю выборку из таблицы. выбираю все записи в которых дата соответствует...

Разность рабочих дат в запросе
Всем привет!) Делаю запрос для вычисления разности между рабочими датами. ВЫБРАТЬ ...

Расчет разности дат в запросе
Здравствуйте. Делаю собственную конфигурацию в 1с 8.3. Есть справочник "ЭтапыДоговоров", с...

Формат дат в sql запросе
Добрый день друзья. Делаю выборку из таблицы. выбираю все записи в которых дата соответствует...

Проблема со сравниванием дат в SQL запросе
Добрый день, всем В запросе на обновление таблицы "Balances_of_accounts", в обновляемое поле...

Сравнение дат
1. Известны даты рождения двух человек. Определить, кто из них старше. Для решения задачи написать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru