2016-05-18 6 views
-2

У меня есть столбец, который хранит студент учебного года (тип данных: INT), какнайти разницу дат, чтобы получить количество лет

лето 2010 = 201100

осенью 2010 = 201110

весна 2010 = 201120

если текущий учебный год весна 2016 т.е. 201720

как найти разницу между датами в годах?

+1

не весна 2016 года 201720 если весна 2010 года 201120? Также как вы должны определить месяцы, если месяцы не являются частью данных? – SQLChao

+0

В чем разница между месяцами между «Летом 2010» и «Осенью 2010 года»? –

+0

должно было быть 201720, я сделал обновление, и мне просто нужны годы. – Khatra

ответ

0

Перевести целые значения в значения Datetime (например, 201120 становится 2010-04-01 и т. Д.), А затем использовать DateDiff().

0

Возможно, просто используйте LEFT, поскольку вам нужны только годы.

DECLARE @academic_year INT = 201100 
DECLARE @current_academic_year INT = 201720 

SELECT CAST(LEFT(@current_academic_year, 4) AS INT) - CAST(LEFT(@academic_year, 4) AS INT) 
+0

, и это действительно сработало ... Я пробовал одинаково, но получил некоторую ошибку, но ваш запрос помог мне решить проблема. благодаря – Khatra