Разница в датах SQL в количестве дней - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь получить результаты в количестве дней между issue.date и сегодняшней датой .Мой SQL дает мне формат dd.mm.YYYY как int [11] , и я конвертирую его в varchar [11] , так как первый формат дает время с нуля при экспорте в csv или xls.

Итак, мой вопрос заключается в том, как изменить int / varchar на формат даты, чтобы вычислить разницу между этой датой и сегодняшним днем.Сегодняшняя дата представлена ​​в формате datetime.

Ниже приведено преобразование

CONVERT (VARCHAR(11),DATEADD(day,issue_date,'1971/12/31'),106) AS IssueDate

Формат дд мм ГГГГ .

Я использую CONVERT(VARCHAR(11), GETDATE(), 106)чтобы получить тот же формат, но я не знаю, как изменить формат даты.

Примечание. Я не могу создавать переменные в среде, в которой я работаю.

Ответы [ 3 ]

0 голосов
/ 10 мая 2018

Ответ довольно прост:

CONVERT (date,DATEADD(day,wo_header.issue_date,'1971/12/31'),106) 

и

CONVERT(date, GETDATE(), 106)

, а затем (DATEDIFF (day,CONVERT(date, GETDATE(), 106), CONVERT (date,DATEADD(day,issue_date,'1971/12/31'),106) )) AS 'Days open'

0 голосов
/ 10 мая 2018

Функция DATEDIFF() используется для поиска разницы между двумя датами.DATEDIFF() имеет три параметра, как показано ниже:

1: - DATAPART (ДЕНЬ, ЧАСЫ, МЕСЯЦ, ГОДЫ, СЕКУНДЫ и т. Д.)

2: - ДАТА НАЧАЛА

3: - КОНЕЦ ДАТЫ

Пример:

SELECT DATEDIFF(DAY , '2017-12-10',GETDATE()) // Result should be 151
0 голосов
/ 10 мая 2018

Ваш вопрос просто не имеет смысла.Вы должны хранить дату / время в формате native , а не в строках.Не цифры.Период.Это правильный способ хранения значений даты / времени.Затем вы используете функции даты / времени (например, datediff()) для соответствующих типов.

Когда вы это делаете, вы можете просто использовать datediff(day, issue_date, getdate()).

Если по какой-то причине у вас есть датыв формате ДД.ММ.ГГГГ вы можете использовать convert(date, ddmmyy, 104).Поддерживаемые типы указаны в документации .

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