esmaspäev, 27. aprill 2009

Kuupäevad SQL SERVERIS

Kui vaja võtta DATETIME kuupäevast ära millisekundid

ALTER FUNCTION [dbo].[SEKUNDID_AINULT] ( @kuupaev DATETIME )
RETURNS DATETIME
AS /* Lõikab sisseantud kuupäevast maha millisekundid */
BEGIN
DECLARE @a_data DATETIME
DECLARE @c CHAR(19)
SET @c=CONVERT(CHAR(19),@kuupaev,126 ) --ISO8601 formaat
SET @a_data = CAST(@c AS DATETIME)
RETURN @a_data
END


Kui vaja ainult kuupäeva:

ALTER FUNCTION [dbo].[KUUPAEV_AINULT] ( @kuupaev DATETIME )
RETURNS DATETIME
AS /* Lõikab sisseantud kuupäevast maha tunnid, minutid, sekundid */
BEGIN
DECLARE @a_data DATETIME
DECLARE @c NCHAR(8)
SET @c=CONVERT(NCHAR(8),@kuupaev,112 )
SET @a_data = CAST(@c AS DATETIME)
RETURN @a_data
END

Mõlemad isetehtud funktsioonid töötavad väga hästi erinevate SQL SERVER-i versioonide ja seadistuste korral
Blogged with the Flock Browser