SQL Server の SMALLDATETIME を Unix タイムスタンプに変換するにはどうすればよいですか?
日付は MS Access DB に CAST(0x96040474 AS SmallDateTime) として保存されました。データは SQL にダンプされ、それらの時間を MySQL の Unix タイムスタンプに変換しようとしています。
ありがとうございます
SQL Server の SMALLDATETIME を Unix タイムスタンプに変換するにはどうすればよいですか?
日付は MS Access DB に CAST(0x96040474 AS SmallDateTime) として保存されました。データは SQL にダンプされ、それらの時間を MySQL の Unix タイムスタンプに変換しようとしています。
ありがとうございます
datediff(ss、 '1/1/1970'、your_date_here)を選択します
例えば
select datediff(ss、 '1/1/1970'、cast( '1/1/1989' as smalldatetime))
SQL Server 2005 Books Onlineの「Transact SQL リファレンス」から
データベース エンジンは
smalldatetime
、値を 2 つの 2 バイト整数として格納します。最初の 2 バイトには、1900 年 1 月 1 日からの日数が格納されます。残りの 2 バイトには、午前 0 時からの分数が格納されます。
したがって、16 進値を 2 つの整数に分割し、1900/01/01 の基準日から 1970/01/01 の基準日に変換し、もう一方の整数を午前 0 時を過ぎた整数分として取得する必要があるようです。
PHP の strtotime() 関数は、引数として smalldatetime を取ります。