---
title: "Jämförelse, år"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/57094-jämförelse-år"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Moppan"
published: "2002-10-25T12:03:55.000Z"
updated: "2002-10-25T12:56:25.000Z"
replies: 2
views: 281
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/57094-jämförelse-år"
---

# Jämförelse, år

## #1 — Moppan, 2002-10-25T12:03Z

Hallå!

Jag vill kolla om en person har rapporterat tid under ett år och testar därför ex om året är \>2001 och \<2002. Problemet är att jag tar emot det valda året som en parameter av typen smalldatetime. Jag vill sedan få ut året som kommer därefter (genom att plussa på ett, eller något annat smart). Hur ska jag göra med konverteringar och dyl.  för att det ska fungera??!

Tips???
Koden ser just nu ut såhär: 

CREATE PROCEDURE spTime_GetAllPersonsByDate 
	@Date smalldatetime
AS

SELECT DISTINCT P.PersonID,  P.FirstName, P.LastName
FROM TimePerDayAndProject TP
INNER JOIN Person P ON P.PersonID = TP.PersonID 
WHERE datepart(yyyy, TP.DateField) \>=  @Date  AND datepart(yyyy, DateField) \<= @Date + 1
ORDER BY  FirstName

GO

Permalänk: https://www.webforum.nu/p/57094

## #2 — Moppan, 2002-10-25T12:12Z

Jag behöver ingen hjälp...

Gjorde bara om så att jag tar emot året som en integer istället.. Förstår inte hur man kan göra en jämförelse mot datepart(yyyy, DateField) som är av typen smalldatetime dock..

men men.....

Permalänk: https://www.webforum.nu/p/834860

## #3 — LarsG, 2002-10-25T12:56Z

Funktionen datepart returnerar ett numeriskt värde så det går bra att jämföra. Om du vill lägga till ett år till ett datum så får du använda funktionen dateadd.

Permalänk: https://www.webforum.nu/p/834877

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/57094-jämförelse-år
