Стандарт ANSI UNIX_TIMESTAMP () - PullRequest
3 голосов
/ 30 июня 2009

UNIX_TIMESTAMP () - это не стандартное ключевое слово ANSI, а дополнение к синтаксису MySQL. Однако, поскольку я поддерживаю несколько БД, существует ли ANSI стандартный способ написания UNIX_TIMESTAMP ();

Спасибо

Ответы [ 2 ]

2 голосов
/ 30 июня 2009

Насколько я знаю, нет.

Каждая база данных обрабатывает это по-своему.

Например, в Oracle вы должны вручную сгенерировать метку времени, например:

SELECT (sysdateColumn - to_date('01-JAN-1970','DD-MON-YYYY')) * (86400) AS alias FROM tableName;  

В MSSSQL:

SELECT DATEADD(s, yourDateColumn, '19700101') AS alias FROM tableName

В PGSQL:

SELECT date_part('epoch', timestampColumn) AS alias FROM tableName

Редактировать: как Алексей Кузнецов указал , есть два совершенно разных использования функции MySQL UNIX_TIMESTAMP(). Я предположил последнее, UNIX_TIMESTAMP(date) (для преобразования нативного формата в эпоху) для ответа выше.

1 голос
/ 30 июня 2009

Вам не удалось определить UNIX_TIMESTAMP Если верно следующее: UNIX_TIMESTAMP (date) возвращает значение аргумента в секундах, начиная с 1970-01-01 00: 00: 00

затем используйте функцию DATEDIFF

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...