Microsoft SQL Server 2012以降では、単一の選択ステートメントで日時値をUnixタイムスタンプに変換できますか?もしそうなら、どのようにそれを行うことができますか?
Peter Halaszが T-SQL DateTime to Unix Timestamp で言及しているように:
日時をUNIXタイムスタンプに変換するのは簡単ですが、次のように入力するエラーが発生しやすくなります。
@timestamp=DATEDIFF(second,{d '1970-01-01'},@datetime)
@datetimeは、変換する日時の値です。 {d ‘yyyy-mm-dd’}表記はODBCエスケープシーケンスです。
関数:
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
以下のように今すぐ試してください@Ousman:
SELECT UNIX_TIMESTAMP(GETDATE());