基本的に予定時刻になるクエリを書きたいと思います。これが私が望む全体像です。
問題は、FL_CO_APPOINTMENT テーブルの Time 列が varchar(50) であり、目的の列の Appointment 形式が 09:00 - 11:00 01/12/2012 であることです。varchar(50) である Time 列を操作して、目的の式から述べたように結果を取得するにはどうすればよいですか。私はグーグルを持っていますが、助けが見つかりませんでした。ありがとうございました。
varchar フィールドを datetime に変換できます。
これを試して
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 ....
私は先輩に相談し、彼らは私にこの解決策を提案してくれました。
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
皆さん、ご回答ありがとうございます