找到日期差异以获得年数

时间:2016-05-18 19:45:30

标签: sql sql-server sql-server-2008

我有一个专栏将学生学年(数据类型:INT)存储为<​​/ p>

2010年夏季= 201100

2010年秋季= 201110

2010年春季= 201120

如果当前学年是2016年春季,即201720

如何找到年份中的日期之间的差异?

2 个答案:

答案 0 :(得分:0)

将整数值转换为Datetime值(例如,201120变为struct Struct { inline Struct(const std::string& text, int n) : _text(text), _n(n) {} inline Struct(const Struct& other) : _text(other._text), _n(other._n) {} const std::string _text; const int _n; Struct& operator=(const Struct&) = delete; }; 等),然后使用DateDiff()。

答案 1 :(得分: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)