Получите только часть Даты DateTime в mssql [дубликат]

хорошо ... я смог решить эту проблему ... проблема в app.py, вы должны указать переменную port:

INCORRECT

app = connexion.App(__name__, 9090, specification_dir='swagger/')

CORRECT [ 114]

app = connexion.App(__name__, port=9090, specification_dir='swagger/')
32
задан Community 23 May 2017 в 10:31
поделиться

3 ответа

Решением, которое Вы хотите, является то, предложенное здесь:

https://stackoverflow.com/a/542802/50776

В основном, Вы делаете это:

cast(floor(cast(@dateVariable as float)) as datetime)

существует функциональное определение в ссылке, которая позволит Вам консолидировать функциональность и называть ее где угодно (вместо того, чтобы иметь необходимость помнить это), если Вы желаете.

32
ответ дан 27 November 2019 в 19:42
поделиться

Другой изящный путь:

DATEADD(dd, 0, DATEDIFF(dd, 0, [YourDate]))

, Который заставляет количество дней со ДНЯ 0 к YourDate и добавлению его ко ДНЮ 0 устанавливать базовую линию снова. Этот метод (или "производные" настоящего документа) может использоваться для набора другого управления датой.

Редактирование - другие вычисления даты:

Первый День Месяца:

DATEADD(mm, DATEDIFF(mm, 0, getdate()), 0)

Первый День года:

DATEADD(yy, DATEDIFF(yy, 0, getdate()), 0)

Первый День Четверти:

DATEADD(qq, DATEDIFF(qq, 0, getdate()), 0)

В последний день Предшествующего Месяца:

DATEADD(ms, -3, DATEADD(mm, DATEDIFF(mm, 0, getdate()), 0))

В последний день Текущего Месяца:

DATEADD(ms, -3, DATEADD(mm, DATEDIFF(m, 0, getdate()) + 1, 0))

В последний день Текущего года:

DATEADD(ms, -3, DATEADD(yy, DATEDIFF(yy, 0, getdate()) + 1, 0))

Первый понедельник Месяца:

DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, 6 - DATEPART(day, getdate()), getdate())), 0)        

Редактирование: Правда, Joe, это не добавляет его ко ДНЮ 0, это добавляет 0 (дни) к количеству дней, которое в основном просто преобразовывает его назад в дату и время.

16
ответ дан 27 November 2019 в 19:42
поделиться

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

DECLARE @Date datetime
SET @Date = GETDATE()

-- Set all time components to zero
SET @Date = DATEADD(ms, -DATEPART(ms, @Date), @Date) -- milliseconds = 0
SET @Date = DATEADD(ss, -DATEPART(ss, @Date), @Date) -- seconds = 0
SET @Date = DATEADD(mi, -DATEPART(mi, @Date), @Date) -- minutes = 0
SET @Date = DATEADD(hh, -DATEPART(hh, @Date), @Date) -- hours = 0

-- Extra manipulation for month and year
SET @Date = DATEADD(dd, -DATEPART(dd, @Date) + 1, @Date) -- day = 1
SET @Date = DATEADD(mm, -DATEPART(mm, @Date) + 1, @Date) -- month = 1

я использую это для получения каждый час, ежедневно, ежемесячно, и ежегодные даты, используемые для создания отчетов и показателей эффективности, и т.д.

2
ответ дан 27 November 2019 в 19:42
поделиться
Другие вопросы по тегам:

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