Dans Microsoft SQL Server 2012 ou supérieur, est-il possible de convertir une valeur datetime en horodatage Unix dans une seule instruction de sélection? Si tel est le cas, comment cela peut-il se faire?
Comme Peter Halasz le mentionne dans T-SQL DateTime to Unix Timestamp :
La conversion d'un datetime en horodatage unix est facile, mais implique des erreurs susceptibles de taper ce qui suit:
@timestamp=DATEDIFF(second,{d '1970-01-01'},@datetime)
Où @datetime est la valeur datetime que vous souhaitez convertir. La notation {d ‘aaaa-mm-jj’} est une séquence d'échappement ODBC.
La fonction:
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-le maintenant comme ci-dessous @Ousman:
SELECT UNIX_TIMESTAMP(GETDATE());