如何将 'HH:mm' 中的 varchar 列构造为 SQL 服务器中的日期时间格式?

How to construct a varchar column in 'HH:mm' to datetime format in SQL Server?

我有一个 table Bus,在 table 中有一列 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 但不同 timings.I 想在给定时间(在 DD-MM-YYYY HH:mm:ss:SSS 中编写查询)我可以知道使用 busStopTime 和 busStartime 列的特定时间的行程编号。

我没有其他代码可以分享,但希望我能得到一些关于如何使用 SQL 查询转换它的线索?

在java中,使用JDBC,获取字符串值并解析为一个LocalTime(在Java8中添加),其中有方法方便比较到其他 LocalTime 对象,并用于操作时间值,例如再加上 15 分钟。

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

如果使用 Java 6 或 7,请使用 ThreeTen Backport 库。

您可以使用加法创建 datetime。对于当前日期的时间:

select (convert(datetime, convert(date, getdate())) +
        convert(datetime, busStartTime)
       ) today_busStartTime