3

如何将 SQL Server SMALLDATETIME 转换为 Unix 时间戳?

日期在 MS Access DB 中存储为 CAST(0x96040474 AS SmallDateTime)。数据被转储到 SQL,我希望将这些时间转换为 MySQL 的 Unix Timestamps。

谢谢 AO

4

3 回答 3

1

选择日期差异(ss,'1/1/1970',your_date_here)

例如

选择 datediff(ss, '1/1/1970', cast('1/1/1989' as smalldatetime))

于 2008-11-21T00:31:45.637 回答
0

来自SQL Server 2005 联机丛书,“Transact SQL 参考”

数据库引擎将smalldatetime值存储为两个 2 字节整数。前 2 个字节存储 1900 年 1 月 1 日之后的天数。其他 2 个字节存储自午夜以来的分钟数。

因此,您似乎需要将十六进制值拆分为两个整数,并将基准日期从 1900/01/01 转换为 1970/01/01 基准日期,然后将另一个整数作为午夜过后的整数分钟。

于 2008-11-21T02:15:59.047 回答
0

PHP 的 strtotime() 函数将使用 smalldatetime 作为参数。

于 2009-07-31T19:43:19.727 回答