Проблема в вашем предложении where
.Поскольку ваш Appointment_DateTime
в формате datetime
.Я ожидаю, что этот столбец имеет тип значения datetime
.Теперь перейдем к вашему запросу, '23/05/2019'
- простая строка, поэтому невозможно сравнить ее с датой и временем.Сначала вам нужно преобразовать дату и дату в формат datetime
.
Пожалуйста, попробуйте это (если вас интересует только соответствие даты):
SELECT Appointment_ID,
WO_DespatchName, Despatch_Name AS WO_selectDespatchName,
FORMAT(Appointment_DateTime, 'dd/MMM/yyyy hh:mm tt') AS Appointment_DateTime,
FORMAT(Appointment_ProposalSent, 'dd/MMM/yyyy') AS Appointment_ProposalSent,
WO_MaidName, Maid_Name AS WO_selectMaidName,
Appointment_Location, Appointment_FaceToFace, Appointment_Service, Appointment_Remarks, WO_Duration,
Appointment_ContactID, Contact_Name AS Appointment_selectContactID
FROM Appointments A
LEFT JOIN Despatch ON Despatch_ID = WO_DespatchName
LEFT JOIN CustomerDetails ON Contact_ID = Appointment_ContactID
LEFT JOIN Maid ON Maid_ID = WO_MaidName
WHERE FORMAT(Appointment_DateTime, 'dd/MM/yyyy') BETWEEN FORMAT('15/05/2019', 'dd/MM/yyyy') AND FORMAT('23/05/2019', 'dd/MM/yyyy')
AND (A.IsDelete = 0 OR A.IsDelete IS NULL)
ORDER BY CONVERT(DateTime, Appointment_DateTime,101) ASC
Или вы можете попробовать convert
чтобы преобразовать вашу строку в datetime
формат.
Не стесняйтесь просить о дальнейшей путанице.