首页 > 解决方案 > 如何在 SQL Server 中将 'HH:mm' 中的 varchar 列构造为日期时间格式?

问题描述

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

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

标签: sqlsql-server-2012

解决方案


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

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

推荐阅读