0

Я столкнулся с проблемой при сравнении значений даты и времени в сервере SQL 2008.Сравнение значений даты и времени в сервере SQL 2008

Я хочу, чтобы выбрать только те строки из таблицы «Plane_Allocation_Table», где столбец «to_date», который типа DATETIME меньше сегодняшней даты и времени (которые я получил с помощью GETDATE()). И обновите две таблицы в зависимости от значений, возвращаемых вышеуказанным запросом.

Однако запросы, которые я пытался, не возвращают никакие строки.

последняя сохраненная процедура I Worte выглядит следующим образом:

- Процедура для обновления Total_Allocation в Hanger_Details и Действительность Бронирование в Plane_Allocation_Details:

CREATE PROCEDURE [dbo].[Update_Total_Allocation_APMS] 
AS 
DECLARE @now DATETIME 
SELECT @now = GETDATE() 
UPDATE Hanger_Details 
SET Total_Allocation = Total_Allocation - 1 
WHERE Hanger_Number IN 
(
    SELECT Hanger_Number 
    FROM Plane_Allocation_Details 
    WHERE To_Date <= @now AND Validity = 'Valid' 
) 
UPDATE Plane_Allocation_Details 
SET Validity = 'Not Valid' 
WHERE To_Date <= @now 

Сравнение 'to_date' и '' @Now не работает. Есть ли какое-либо решение для сравнения значений даты и времени из таблицы в хранимой процедуре?

PS: Пожалуйста, обратите внимание, что я хочу сделать сравнение на основе даты и времени. Например, если время datetime равно «2014-12-20 10: 00: 00.000», а значение столбца «2014-12-20 09: 59: 00.000», то строка должна быть возвращена.

Редактировать 1: Я исправил опечатку там. (= < до < =)

+1

Что такое "= <" ...? –

+0

За исключением возможной опечатки. Я думаю, вы делаете это отлично. Вы хотите еще раз проверить все остальное? Возможно, снова проверьте тип To_Date? – stripathi

+1

Что такое тип данных To_Date – Veera

ответ

0

Вы можете присвоить значения datetime значениям date -однозначные значения.

например.

DECLARE @today date 
SELECT @today = CONVERT(date, GETDATE()) 

UPDATE Plane_Allocation_Details 
SET Validity = 'Not Valid' 
WHERE CONVERT(date, To_Date) <= @today 
+0

Спасибо, это работает. Но мне действительно нужно, чтобы сравнение было также на основе текущего времени. – kev

Смежные вопросы