如何将 SQL Server SMALLDATETIME 转换为 Unix 时间戳?
日期在 MS Access DB 中存储为 CAST(0x96040474 AS SmallDateTime)。数据被转储到 SQL,我希望将这些时间转换为 MySQL 的 Unix Timestamps。
谢谢 AO
如何将 SQL Server SMALLDATETIME 转换为 Unix 时间戳?
日期在 MS Access DB 中存储为 CAST(0x96040474 AS SmallDateTime)。数据被转储到 SQL,我希望将这些时间转换为 MySQL 的 Unix Timestamps。
谢谢 AO
选择日期差异(ss,'1/1/1970',your_date_here)
例如
选择 datediff(ss, '1/1/1970', cast('1/1/1989' as smalldatetime))
来自SQL Server 2005 联机丛书,“Transact SQL 参考”
数据库引擎将
smalldatetime
值存储为两个 2 字节整数。前 2 个字节存储 1900 年 1 月 1 日之后的天数。其他 2 个字节存储自午夜以来的分钟数。
因此,您似乎需要将十六进制值拆分为两个整数,并将基准日期从 1900/01/01 转换为 1970/01/01 基准日期,然后将另一个整数作为午夜过后的整数分钟。
PHP 的 strtotime() 函数将使用 smalldatetime 作为参数。