powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / datetime to unixtime :-((
7 сообщений из 7, страница 1 из 1
datetime to unixtime :-((
    #32024060
Flamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, уважаемые!

Это опять я
Такая проблема - надо бы хранить дату в таблице не как datetime, а как int (кол-во секунд с нулевой даты)... Собственно, как из GETDATE() _простым_ способом получить число этих самых секунд? Я понимаю, что можно арифметикой, но интересует, а есть ли стандартные способы? В BOL прочитал про CONVERT - ничего похожего не нашел
... Может, плохо искал?


Сыпасибо всем откликнувшимся.
...
Рейтинг: 0 / 0
datetime to unixtime :-((
    #32024061
Flamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, не прошло и года, как я докопался


Вроде, вот это работает:

SELECT CONVERT(int,CAST(GETDATE() AS BINARY))

Или я чего не понимаю?
...
Рейтинг: 0 / 0
datetime to unixtime :-((
    #32024062
Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
datepart(ss,getdate())
...
Рейтинг: 0 / 0
datetime to unixtime :-((
    #32024063
Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select datepart(ss,getdate())
...
Рейтинг: 0 / 0
datetime to unixtime :-((
    #32024071
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теоретически можно было-бы так:
select DATEDIFF ( ss, '19000101', getdate())
если нулевая дата - это первое января 1900
Но не хватает типа int...
...
Рейтинг: 0 / 0
datetime to unixtime :-((
    #32024073
Фотография cvasil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По определению:
Unix time is number of seconds since midnight, January 1st, 1970 GMT

Следовательно:
declare @timezone int
set @timezone=-3 -- для Москвы например
select datediff(ss, '19700101', getdate()) + @timezone * 60 * 60
...
Рейтинг: 0 / 0
datetime to unixtime :-((
    #32024112
Flamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромный 10х, cvasil!

А то я было уже замучился экспериментировать... Вот скажите мне - почему бы не дать программеру _стандартными_ средствами хранить время в таблице не как datetime, а как, скажем, тот-же int (пусть с точностью не до секунд, а до минут, но все-же)? Не верю я, что это нигде не нужно!!! А отсутствие поддержки конструкции LIMIT(n,m) в MSSQL меня вообще убивает
Что это - хитрая политика или самодурство M$ ? Иногда такие мелкие, казалось бы, проблемы ставят в тупик...

Еще раз спасибо за все ответы!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / datetime to unixtime :-((
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]