Как построить столбец varchar в формате «ЧЧ: мм» для даты и времени в SQL Сервер? - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть таблица Bus с одним столбцом busStopTime в таблице в качестве поля varchar, которое содержит время в формате 'HH:mm'. Я пытаюсь преобразовать его в дату и время, чтобы я мог сравнить с другим полем даты и времени.

Но я не могу его преобразовать.

Пример: BUS

busName route   busStopTime busStartTime tripNumber
----------------------------------------------------------

690      ABC      03:30        04:30        1

690      ABC      05:30        06:30        2

690      ABC      07:30        08:30        3

Здесь у меня в качестве примера три строки с одинаковыми busNames, но с разными временами. Я хотел написать запрос в указанное время (в формате ДД-ММ-ГГГГ ЧЧ: мм: сс: SSS). Я могу узнать номер поездки на это конкретное время, используя столбцы busStopTime и busStartime.

I у меня нет другого кода, которым я мог бы поделиться, но надеюсь, что я получу некоторую подсказку о том, как преобразовать его, используя SQL запрос?

Ответы [ 2 ]

1 голос
/ 13 апреля 2020

Вы можете создать datetime, используя дополнение. Для времени на текущую дату:

select (convert(datetime, convert(date, getdate())) +
        convert(datetime, busStartTime)
       ) today_busStartTime
0 голосов
/ 13 апреля 2020

В java, используя JDB C, получите строковое значение и проанализируйте его как LocalTime (добавлено в Java 8), который имеет методы для простого сравнения с другими LocalTime объектов и для манипуляции со значением времени, например, добавление к нему 15 минут.

LocalTime time = LocalTime.parse(rs.getString("busStopTime"));

При использовании Java 6 или 7 используйте библиотеку ThreeTen Backport .

...