Мне нужен простой способ найти точную разницу в год между двумя датами. Например, между 01.11.2013 и 30.10.2019. В этом случае это должно быть 5 лет, потому что текущая дата еще не достигла 01.11. Но если это между 29.10.2013 и 30.10.2019, то это должно быть 6 лет.
Давайте предположим, что это день рождения и текущие дни. Это похоже.
Я пытался получить результат с помощью следующего кода:
select datediff(year,20131101,20191030)
Это дает мне 6 вместо 5. Ближайшее решение, которое я нашел:
select datediff(day,20131101,20191030)/365
Но, как мы знаем, в этот период может быть 1 или 2 високосных года, и результат опять не совсем тот, который я ожидаю. Ни когда мы делим на 365 или 366.
Нет необходимости использовать datediff. Интересно, есть ли какой-нибудь простой способ представить его или какую-то хранимую функцию, для которой я не знал.