#sql
#sql
Вопрос:
Я хотел бы знать, что вы думаете:
Я должен получить все подключения, которые у меня были к системе во время сеанса. Чтобы автоматизировать этот процесс, я решил использовать current_date% , который не будет работать, потому что current_date — это не строка, это функция.
Итак, мой вопрос в том, может ли кто-нибудь помочь мне с запросом, чтобы получить количество всех подключений за текущий день.
Заранее спасибо!
Мой дерьмовый код:
SELECT COUNT(id) FROM user_connections
WHERE connectiondate LIKE 'CURRENT_DATE%'
Комментарии:
1. какой тип поля вы используете для «connectiondate»
2. Тип данных — date, и формат, сохраненный в нем, такой: 2018-12-17T19:47:23.000Z
Ответ №1:
Лучший способ (с точки зрения производительности) — использовать логику, подобную этой:
WHERE connectiondate >= CURRENT_DATE AND
connectiondate < CURRENT_DATE INTERVAL '1 DAY'
Не все базы данных поддерживают стандартный синтаксис ISO / ANSI для дат, поэтому точное выражение в вашей базе данных может отличаться.
Ответ №2:
Вам нужно только connectiondate >= CURRENT_DATE
:
SELECT COUNT(id) FROM user_connections
WHERE connectiondate >= CURRENT_DATE
если тип данных connectiondate
является datetime
.
Если это так, date
тогда подойдет простой connectiondate = CURRENT_DATE
.
Комментарии:
1. @MissCodesALot что произошло?