Как Вы извлекаете просто дату из даты и времени в T-Sql?

Я выполняю выбор против столбца даты и времени в SQL Server 2005. Я могу выбрать только дату из этого столбца даты и времени?

6
задан Tyson Nero 21 May 2010 в 20:39
поделиться

5 ответов

Лучший способ:

   SELECT DATEADD(day, DATEDIFF(Day, 0, @ADate), 0) 

Это связано с тем, что внутри SQL Server все даты хранятся в виде двух целых чисел, первое из которых представляет собой **** количество дней *** с 1 января 1900 г. (второе число - временной отрезок, сохраненный как количество секунд после полуночи (секунды для SmallDateTime с или миллисекунды для DateTime с)
Использование приведенного выше выражения лучше, потому что оно позволяет избежать всех преобразований, прямого чтения и доступа к этому первому целому числу во внутреннем представлении дат без необходимости выполнять какую-либо обработку ... два нуля в приведенном выше выражении (которые представляют 1 января 1900 г.) также являются напрямую используются без обработки или преобразования, поскольку они соответствуют внутреннему представлению даты 1 января 1900 года в SQL-сервере точно так, как оно представлено (как целое число) ..

* ПРИМЕЧАНИЕ. Фактически, количество границ дат (полуночи), которое вы должны пересечь, чтобы перейти от одной даты к другой.

7
ответ дан 8 December 2019 в 15:59
поделиться

Вы можете использовать функции:

  1. день (дата)
  2. месяц (дата)
  3. год (дата)
1
ответ дан 8 December 2019 в 15:59
поделиться

Да, с помощью функции convert. For example:

select getdate(), convert(varchar(10),getdate(),120)

RESULTS:

----------------------- ----------
2010-05-21 13:43:23.117 2010-05-21
6
ответ дан 8 December 2019 в 15:59
поделиться

Также может пригодиться функция Datepart ():

http://msdn.microsoft.com/en-us/library/ms174420 (SQL.90) .aspx

1
ответ дан 8 December 2019 в 15:59
поделиться
DECLARE @dToday DATETIME
SET @dToday = CONVERT(nvarchar(20), GETDATE(), 101)
SELECT @dToday AS Today

Возвращает сегодняшнюю дату в 12:00: '2010-05-21 00: 00: 00.000' Затем вы можете использовать переменную @dToday в запросе по мере необходимости

0
ответ дан 8 December 2019 в 15:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: