• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Работа с DATETIME

  • Автор темы Kozolick
  • Дата начала
K

Kozolick

Добрый вечер. Столкнулся с проблемой связанной с работой с DATETIME.
Есть 3 столбца: ID(int) Connection_time(datetime) Name(varchar)
datetime имеет шаблон (dd/mm/ee hh:mm:ss)
Мне нужно составить запрос, который будет мне выводить Name, в зависимости от времени посещения (только time вне зависимости от date).
Как это можно реализовать??
 
M

-master-

дататайм нкакого шаблона не имеет, физически это вещественное число, а работать с ним надо как с дататаймом, тогда вопросов не будет
 
Последнее редактирование модератором:
K

Kozolick

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

пример запроса: какие пользователи на протяжении месяца заходили в промежуток с 3 до 6 ?

проблема в том, что у меня исходные данные в базу загружены в datetime...вот и приходится извращаться
 
M

-master-

в чем извращения? :)
вам к примеру надо от 1/1/2000 до 1/1/2001
вот и дайте ему так
Connection_time between @start and @finish
либо
Connection_time >= @start and Connection_time <= @finish
смотря какие у вас условия граничные
 
M

-master-

я же уже подсказал)) от субд зависит, ну вот к примеру в ms sql server так DATEPART(HOUR, Connection_time) - на выходе часы,
у вас может также а может и нет
эти вопросы уже не вопросы стандарта, а диалекта, т.е. нет общего решения, но частное всегда есть
 

SooLFaa

Platinum
15.07.2016
898
1 559
BIT
15
Уже неактуально, но я отвечу для других форумчан.
SELECT * FROM Table
WHERE Cast(datetime as TIME) < 'hh:mm'
P.S. Когда не указывают СУБД я пишу на MSSQL
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!