У меня есть хранимая процедура: -Только дата сравнения Часть с системой Дата в SQL Server
CREATE procedure St_Proc_GetTimeEntryID
@userID int,
@timeEntryID int output
as begin
set nocount on;
SET @timeEntryID=0
DECLARE @TEMP INT
SET @TEMP=0
SELECT @TEMP=ProductionTimeEntryID
FROM production
WHERE ProductionTimeEntryID =
(SELECT MAX(ProductionTimeEntryID)
FROM production
where [email protected]
and (CalendarDate = (select GETDATE()))
and IsTaskCompleted=1)
BEGIN
SET @[email protected]
END
END
Здесь CalendarDate находится колонна, которая содержащая Дата Как 06/26/201212: формат 12 вечера. Я хочу, чтобы сравнить часть даты только с системной датой части (06/26/2012 = 06/26/2012) в моем подзапроса, который
(SELECT MAX(ProductionTimeEntryID)
FROM production
where [email protected]
and (CalendarDate = (select GETDATE()))
and IsTaskCompleted=1)
Пожалуйста, руководство мне, что модификация я буду делать, чтобы получить результат ,
ли в 'CalendarDate' столбец' DATETIME' или что-то еще? Для ясности важно указать тип данных, а также понять, что тип данных DATETIME не хранит какой-либо формат, как вы предлагаете, именно так Management Studio отображает его вам на основе региональных настроек машины, вашего языка настройки и т. д. Также полезно указать версию SQL Server. –
Столбец CalendarDate - DATETIME, и я использую Sql Server 2008. Ваши комментарии помогли мне, и в следующий раз я действительно буду указывать все эти точки, если они попадут в какую-либо проблему. Спасибо за предложение @Aoron –