在查询中,如何将格式为HH:MMAM [PM]格式化的NVARCHAR转换为时间



我需要查询具有具有start_time和end_time字段的记录的表。他们的数据类型为 NVARCHAR(100),并像此示例一样格式化:09:30 AM

我需要在对这些字段进行比较之前或之后进行A,因此我需要在 time 数据格式中进行它们。(如果我错了,请纠正我)。在查询中,如何转换start_time和end_time,以便我可以进行比较?

注意:我尝试了 convert(time,start_time),但是在转换日期和/或从字符字符串转换日期和/或时间时,将转换失败错误消息。

这只是:

SELECT CONVERT(TIME, '09:30AM')

CAST('09:30AM' as time)

如果转换失败了,这意味着您在某处有一些不良数据,我会建议try_convert如果您有2012 返回NULL,以防封面失败

SELECT TRY_CONVERT(TIME, '09:30AMBadDataHere')

最新更新