Рейтинг:
15
Bryian Tan
Я думаю, что вы на правильном пути, запрос просто нужно немного чирикнуть. Главное-это
1. Преобразовать целое число возвращения из datediff для строки
2. Строку добавить + 'лет' в конце каждого условия
CASE
WHEN Users.ResignationDate IS NOT NULL THEN
CONVERT(VARCHAR(3),DATEDIFF(YEAR,WorkStartDate,ResignationDate))+ ' Years'
ELSE
CONVERT(VARCHAR(3),DATEDIFF(YEAR,WorkStartDate,GETDate())) + ' Years'
END as AncinitetViaÅr
Man Down
tnx за вашу помощь. у меня есть еще одна проблема с месяцем, я использую это для месяца, а затем, когда я смотрю на результат, он выглядит так: 2 года 556 месяц 22 день: CONVERT(varchar(4), DATEDIFF(YEAR, WorkStartDate, GETDATE ()) + ' years '+
Литой(функция datediff(мм, функция dateadd(ый, функция datediff(ый,getdate(),то WorkStartDate), WorkStartDate), функции getdate()) Как varchar(4)) + ' месяц '+
Литой(функция datediff(ДД, функция dateadd(мм, функция datediff(мм, функция dateadd(ый, функция datediff(ый, WorkStartDate, функции getdate()), WorkStartDate), функции getdate()), функция dateadd(ый, функция datediff(ый, WorkStartDate, функции getdate()), WorkStartDate)), функцию getdate()) Как varchar(2)) + ' day ' end) в результате
____________________________________
Когда я меняю положение WorkStartDate и GetDate (), я получаю еще один странный результат, что-то вроде этого : 2 года -2 месяца 22 дня
Bryian Tan
хммм, не уверен, я думаю, что это можно было бы упростить, вот пример
Объявить дату @WorkStartDate
SET @WorkStartDate = '9/11/2014'
ВЫБИРАТЬ
Конвертировать(тип varchar(4), функция datediff(ДД, @WorkStartDate, функции getdate())/365) + ' лет '+
Конвертировать(тип varchar(4), функция datediff(месяц, @WorkStartDate, getdate ()) для % 12) + "месяц" +
Литой(функция datediff(ДД, функция dateadd(мм, функция datediff(мм, функция dateadd(ый, функция datediff(ый, @WorkStartDate, функции getdate()), @WorkStartDate), функции getdate()),
Функция dateadd(ый, функция datediff(ый, @WorkStartDate, функции getdate()), @WorkStartDate)), функцию getdate()) Как варчар(2)) + 'день'
Вы можете сравнить результат здесь: Рассчитать Продолжительность Между Двумя Датами-Результаты[^]
Man Down
большое спасибо Брайан