将时间戳 (int) 转换为 smalldatetime (t-sql)
Convert timestamp (int) to smalldatetime (t-sql)
我有一个包含多行的 MySQL 数据库。在那个环境中,我将当前时间存储为时间戳 (int
)。
现在我需要将我的数据从 MySQL 迁移到 T-SQL- 数据库。我是 运行 SQL-Server 2008.
我检查了几种方法,但无法想出将我的 int 转换为 smalldatetime 格式的方法。
有内置函数吗?这甚至可以在声明中单独实现吗?我真的不想写 PHP-snippet,它将时间戳转换为所需的格式。
提前致谢
根据 documentation,smalldatetime
使用以下格式:
DECLARE @smalldatetime smalldatetime = '1955-12-13 12:43:10';
所以,我们需要将MySQL
时间戳转换成date
,并按照上面的格式进行格式化,得到smalldatetime
。这可以通过使用 MySQL
的 FROM_UNIXTIME
和 DATE_FORMAT
函数来完成,例如:
DATE_FORMAT(FROM_UNIXTIME(timestamp_column), '%e %b %Y') AS 'smalldatetime';
这是SQL Fiddle。
我有一个包含多行的 MySQL 数据库。在那个环境中,我将当前时间存储为时间戳 (int
)。
现在我需要将我的数据从 MySQL 迁移到 T-SQL- 数据库。我是 运行 SQL-Server 2008.
我检查了几种方法,但无法想出将我的 int 转换为 smalldatetime 格式的方法。
有内置函数吗?这甚至可以在声明中单独实现吗?我真的不想写 PHP-snippet,它将时间戳转换为所需的格式。
提前致谢
根据 documentation,smalldatetime
使用以下格式:
DECLARE @smalldatetime smalldatetime = '1955-12-13 12:43:10';
所以,我们需要将MySQL
时间戳转换成date
,并按照上面的格式进行格式化,得到smalldatetime
。这可以通过使用 MySQL
的 FROM_UNIXTIME
和 DATE_FORMAT
函数来完成,例如:
DATE_FORMAT(FROM_UNIXTIME(timestamp_column), '%e %b %Y') AS 'smalldatetime';
这是SQL Fiddle。