У меня есть формула SQL, которую я планирую использовать в будущей веб-программе, разработанной в VB.NET, которая будет отображать данные, полученные из моей формулы SQL, в GridView.
Есть определенная часть моего SQL, у меня проблемы с
select A.[Inv No], A.[Project No],
cast([Record Date] as date)as [Date], --This area is problem field
A.[Description], A.[Problem + Repair Details],
A.[Status], convert(float, A.[Accumulative Stroke])
as [Accumulative Stroke],
convert(float, A.[Preventive Stroke])
as [Preventive Stroke],
A.[PIC], A.[Measurement (OK/NG)]
from [SQL].[dbo].[MAINT_ENTRY] A
left join (select [Inv No], max(Date +' '+ Time) as [Record Date]
from [SQL].[dbo].[MAINT_ENTRY]
group by [Inv No]) B
on A.[Inv No] = B.[Inv No]
where [Record Date] = Date +' '+ Time and
[Problem + Repair Details] <> '""'
Order by A.[Status], A.[Inv No], A.[Date]desc
[Record Date]
- это столбец, который объединяет столбцы Date
и Time
в один объединенный столбец, чтобы я мог получить самые последние данные для отображения в моей программе. Оба эти поля должны быть в формате datetime
, чтобы они могли присоединиться.
Я хочу, чтобы GridView отображал только дату в Record Date
, и, поскольку она находится в datetime
, я попытался использовать CAST
для изменения формата на date
.
Несмотря на то, что он показывает правильный результат в SQL Management Studio, где я имитировал результаты, он, похоже, не хочет играть хорошо в VB.Net, поскольку в результате, который я получаю, все еще используется формат datetime
. Удаляет данные времени, но сохраняет форматирование времени.
22/4/2019 08:45:00 AM ---> 22/4/2019 12:00:00 AM
в чем проблема, вызывающая это?