Как получить записи текущей части даты из столбца с типом данных datetime (TSQL) - PullRequest
1 голос
/ 11 июня 2009

У меня есть ежедневное запланированное задание, которое запрашивает таблицу, которая включает столбец с именем AttemptDate с datetime в качестве типа данных. Однако задача запрашивает все записи независимо от даты. Поэтому, когда задачи выполняются, он выводит записи всех дат, как показано ниже:

 2009-06-06 06:01:30.852 
 2009-06-07 01:41:46.719 
 2009-06-08 03:58:23.945 

Запрос SQL показан ниже:

SELECT AttemptDate from dbo.ChangeAttempt

Таблица dbo.ChangeAttempt имеет следующую структуру:

Column           Data Type       Constraints        
------           ---------       -----------

EventData        xml             NOT NULL
AttemptDate      datetime        NOT NULL DEFAULT GETDATE()
DBUser           char(50)        NOT NULL

Мой вопрос: как мне получить записи части текущей даты из существующего запроса TSQL, если я добавлю предложение where?

Здесь под текущей датой я подразумеваю дату, на которую запланирован запуск запроса TSQL.

Сложение:

Версия SQL Server, к которой я запускаю запрос TSQL, - 2005.

Ответы [ 4 ]

3 голосов
/ 11 июня 2009
SELECT AttemptDate 
FROM dbo.ChangeAttempt
WHERE AttemptDate >= cast(floor(cast(getdate() as float)) as datetime)
1 голос
/ 11 июня 2009
SELECT AttemptDate 
FROM dbo.ChangeAttempt
WHERE DATEDIFF(d, AttemptDate, GetDate()) = 0
0 голосов
/ 11 июня 2009

Я думаю, ваш запрос будет работать лучше, если вы сначала сохраните текущую дату и время в базе данных в переменной:

DECLARE @curr_date datetime;  
SET @curr_date = cast(floor(cast(getdate() as float)) as datetime)  
SELECT AttemptDate  
FROM dbo.ChangeAttempt  
WHERE AttemptDate >= @curr_date
0 голосов
/ 11 июня 2009

Если вы спрашиваете, как получить записи, которые были введены по умолчанию из-за ограничения, тогда нет способа настроить таблицу. Если вы пропустите попытку, сервер будет использовать ее по умолчанию для вас, используя текущую дату, и впоследствии это будет невозможно определить ... если вы можете изменить структуру таблицы, вы могли бы облегчить это, используя некоторый флаг и триггер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...