将时间戳 (int) 转换为 smalldatetime (t-sql)

Convert timestamp (int) to smalldatetime (t-sql)

我有一个包含多行的 MySQL 数据库。在那个环境中,我将当前时间存储为时间戳 (int)。

现在我需要将我的数据从 MySQL 迁移到 T-SQL- 数据库。我是 运行 SQL-Server 2008.

我检查了几种方法,但无法想出将我的 int 转换为 smalldatetime 格式的方法。

有内置函数吗?这甚至可以在声明中单独实现吗?我真的不想写 PHP-snippet,它将时间戳转换为所需的格式。

提前致谢

根据 documentationsmalldatetime 使用以下格式:

DECLARE @smalldatetime smalldatetime = '1955-12-13 12:43:10';

所以,我们需要将MySQL时间戳转换成date,并按照上面的格式进行格式化,得到smalldatetime。这可以通过使用 MySQLFROM_UNIXTIMEDATE_FORMAT 函数来完成,例如:

DATE_FORMAT(FROM_UNIXTIME(timestamp_column), '%e %b %Y') AS 'smalldatetime';

这是SQL Fiddle