Comment faire pour convertir datetime en timestamp dans MS SQL fonction stockée

Une fonction stockée est appelée depuis le triggersur de mise à jour de la table. Smt comme ça:

FUNCTION [dbo].[DateTime2ToBigInt](@dt DATETIME2(7)) RETURNS BIGINT 

Besoin de convertir le datetime d'input en timestamp unix.

Essayé CONVERT( timestamp, @dt) et CAST(@dt AS TIMESTAMP) mais les deux aboutissent à

"La conversion explicite du type de données datetime2 en timestamp n'est pas autorisée."

Bien sûr, il est possible de faire par les mathématiques, mais je ne peux pas croire, que mssql n'a pas de fonction de conversion directe

 CREATE FUNCTION UNIX_TIMESTAMP ( @ctimestamp datetime ) RETURNS integer AS BEGIN /* Function body */ declare @return integer SELECT @return = DATEDIFF(SECOND,{d '1970-01-01'}, @ctimestamp) return @return END 

essayez la fonction:

 SELECT UNIX_TIMESTAMP(GETDATE());