POSTGRES datetime2 к отметке времени - PullRequest
0 голосов
/ 28 августа 2018

Я мигрирую в postgres с сервера sql. Есть ли способ, которым я мог бы сделать следующее и все еще работать? SELECT CAST('1/1/2018' AS datetime2) Я пробовал и потерпел неудачу с

   CREATE TYPE datetime2 AS (date2 TIMESTAMP); --doesn't work

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Если вы хотите использовать datetime2 в качестве синонима для типа timestamp в PostgreSQL, используйте вместо домена тип:

create domain datetime2 as timestamp;

Тогда ваш актерский состав будет работать так:

SELECT CAST('1/1/2018' AS datetime2);
┌─────────────────────┐
│      datetime2      │
├─────────────────────┤
│ 2018-01-01 00:00:00 │
└─────────────────────┘

Кроме имени, он будет иметь то же поведение, что и оригинальный timestamp тип.

Что вы делаете в своем вопросе, это создаете составной тип (запись с одним полем date2 типа timestamp), который также может быть очень полезным, но для других видов задач.

0 голосов
/ 28 августа 2018

Я думаю, что вы хотите:

SELECT '1/1/2018' AS TIMESTAMP;

  timestamp 
 -----------
  1/1/2018

Или

SELECT CAST('1/1/2018' AS TIMESTAMP); 

      timestamp      
 ---------------------
  2018-01-01 00:00:00

Или

SELECT CAST('1/1/2018' AS DATE);

    date    
------------
 2018-01-01

Это действительно зависит от того, что вы хотите сделать.

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