从SQL Server中的当前日期获取当前学年

时间:2016-01-08 20:02:39

标签: sql-server date sql-server-2008-r2

所以有一个非常类似的论坛帖子,但我无法运行这些命令。我正在使用SQL Server 2008 R2并需要帮助获得当前的学年。

基本上我需要一种方法来使用当前日期生成当前学年。从今年8月到明年8月,这将是1学年。

实施例。 2015年8月至2016年7月将需要拉升2015年和2016年8月开始2016年将需要拉升。

我仍然是SQL的新手,所以任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

听起来你正在寻找这个:

IF Month(GetDate()) >=8
BEGIN
    SELECT Year(GetDate())
END
ELSE
BEGIN
    SELECT Year(GetDate())-1
END

编辑:

要在select语句中使用where where子句:

DECLARE @currentSchoolYear INT

IF Month(GetDate()) >=8
BEGIN
    SELECT @currentSchoolYear = Year(GetDate())
END
ELSE
BEGIN
    SELECT @currentSchoolYear = Year(GetDate())-1
END

SELECT * FROM dbo.dates
WHERE CASE WHEN Month(datevalue) >=8 THEN Year(datevalue)
ELSE Year(datevalue)-1
END = @currentSchoolYear

明显取代" dbo.dates"使用您的表名和" datevalue"与你比较的任何字段。这将返回当前学年的行

答案 1 :(得分:-2)

example.com/page