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.....
2 svar · 266 visningar · startad av Moppan
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
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.....
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.