Как преобразовать SMALLDATETIME SQL Server в метку времени Unix? - PullRequest
3 голосов
/ 21 ноября 2008

Как преобразовать SMALLDATETIME SQL Server в метку времени Unix?

дата была сохранена как CAST (0x96040474 AS SmallDateTime) в БД MS Access. Данные были выгружены в SQL, и я хочу преобразовать это время в метки времени Unix для MySQL.

Спасибо AO

Ответы [ 3 ]

1 голос
/ 21 ноября 2008

выберите дату (сс, '1/1/1970', your_date_here)

например.

выберите дату (сс, 01.01.1970, приведение (1/1/8989 как smalldatetime))

0 голосов
/ 31 июля 2009

PHP функция strtotime () будет принимать в качестве аргумента smalldatetime.

0 голосов
/ 21 ноября 2008

Из Электронная документация по SQL Server 2005 , "Справочник по Transact SQL"

Компонент Database Engine хранит значения smalldatetime как два 2-байтовых целых числа. Первые 2 байта хранят количество дней после 1 января 1900 года. Другие 2 байта хранят количество минут с полуночи.

Похоже, вам нужно сделать некоторое разбиение шестнадцатеричных значений на два целых числа и преобразовать их из базовой даты 1900/01/01 в базовую дату 1970/01/01, а затем взять другое целое число за целые минуты полночь.

...