sql >> Database teknologi >  >> RDS >> Sqlserver

SQLCLR og DateTime2

Du skal ændre DateTime-typerne i signaturen til din funktionsmetode. SQLDateTime knytter sig til en DateTime i databasen.

System.DateTime er mere præcis og kan tilknyttes DateTime2 (men som standard slettes det som DateTime i implementeringsscriptet).

[SqlFunction(DataAccess = DataAccessKind.None)]
//OLD Signature public static SqlDateTime UTCToLocalDT(SqlDateTime val) 
public static DateTime UTCToLocalDT(DateTime val) {
   ...
}

Derefter kan du tilpasse dit implementeringsscript for at læse det.

CREATE FUNCTION [UTCToLocalDT]
(
    @dt [datetime2]
)
RETURNS [datetime2]
AS
    EXTERNAL NAME [SQLCLR].[MyCompany.SQLCLR.DateTimeHelpCLR].UTCToLocalDT
GO

Kørsel af din funktion skulle nu give dig mere præcist output.

DECLARE @input DateTime2, @output DateTime2
SET @input = '2010-04-12 09:53:44.48123456'
SET @output = YourDatabase.dbo.[UTCToLocalDT](@input)
SELECT @input, @output


  1. Kom godt i gang med PostgreSQL Streaming Replication

  2. Postgresql håndhæver unik to-vejs kombination af kolonner

  3. Brug af have count() i exists-sætning

  4. Kan vi importere SQL fra S3 bucket til AWS ec2 (instans)?