-1

我想编写基本上会导致约会时间的查询。这是我想要的全图。在此处输入图像描述

问题是 FL_CO_APPOINTMENT 表中的 Time 列是 varchar(50) ,而所需的列约会格式是 09:00 - 11:00 01/12/2012 。如何操作 varchar(50) 的时间列以获得所需公式中提到的结果。我有谷歌但没有找到任何帮助。谢谢你。

4

2 回答 2

2

您可以将 varchar 字段转换为日期时间。

尝试这个

select  '('+Convert(varchar,convert(datetime,'09:00 AM'),108) + ' - ' +Convert(varchar, dateadd(minute,10,convert(datetime,'09:00 AM')),108) +') '+ Convert(varchar,convert(datetime,'2013-02-04 00:00:00.000'),101)

根据你的表

select  '('+Convert(varchar,convert(datetime,[Time]),108) + ' - ' +Convert(varchar, dateadd(minute,[DURATION],convert(datetime,[TIME])),108) +') '+ Convert(varchar,convert(datetime,[AppointmentDate]),101)
from FL_CO_APPOINTMENT JOIN FL_FAULT ON ....
于 2013-02-12T07:14:05.570 回答
0

我咨询了前辈,他们建议我这个解决方案。 substring(CONVERT(varchar,convert(datetime,FL_CO_APPOINTMENT.AppointmentDate)+FL_CO_APPOINTMENT.Time),13,5) +'' - ''+ substring(convert(varchar,DATEADD(HOUR,2,convert(datetime,FL_CO_APPOINTMENT.AppointmentDate)+FL_CO_APPOINTMENT.Time)),13,5) +'' ''+ convert(varchar, FL_CO_APPOINTMENT.AppointmentDate, 11) Appointment

谢谢大家的回答

于 2013-02-12T07:28:10.963 回答