powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите новичку!!!
7 сообщений из 7, страница 1 из 1
помогите новичку!!!
    #33216818
n@vigator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пришлось разбираться с кодом, написанным на постгресе и встетились мне такие записи при создании таблицы:

timestamp without time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL

что сие может значить, никак не могу понять?
и может это кто объяснит(последняя строка):

CREATE FUNCTION .....
......
declare traffinterval integer=to_number(cake.getParameter(''traffinterval'') ,''99999999999999999999'')::int;
itvr interval;
.......
itvr = (traffinterval*2)||'' sec'';
...
Рейтинг: 0 / 0
помогите новичку!!!
    #33216987
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
n@vigatorПришлось разбираться с кодом, написанным на постгресе и встетились мне такие записи при создании таблицы:

timestamp without time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL

что сие может значить, никак не могу понять?

Это тип без таймзоны с дефолтом на текущее дату/время.
При чем не нулевое :). А хытрая конструкция из-за особенностей приведения типов в PG.

n@vigator
и может это кто объяснит(последняя строка):

CREATE FUNCTION .....
......
declare traffinterval integer=to_number(cake.getParameter(''traffinterval'') ,''99999999999999999999'')::int;
itvr interval;
.......
itvr = (traffinterval*2)||'' sec'';
Ну вызов какой-то функции.
...
Рейтинг: 0 / 0
помогите новичку!!!
    #33216996
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
n@vigatorПришлось разбираться с кодом, написанным на постгресе и встетились мне такие записи при создании таблицы:

timestamp without time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL

что сие может значить, никак не могу понять?

Это тип без таймзоны с дефолтом на текущее дату/время.
При чем не нулевое :). А хытрая конструкция из-за особенностей приведения типов в PG.

n@vigator
и может это кто объяснит(последняя строка):

CREATE FUNCTION .....
......
declare traffinterval integer=to_number(cake.getParameter(''traffinterval'') ,''99999999999999999999'')::int;
itvr interval;
.......
itvr = (traffinterval*2)||'' sec'';
Ну это вызов какой-то функции.
:: - это прямое явное приведение типов
|| = конкатенация(объединение) строк

Если ответы не в тему - можно попробывать, например, более четко сформулировать вопросы.
...
Рейтинг: 0 / 0
помогите новичку!!!
    #33217848
n@vigator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. получается, что itvr это временной интервал, а когда мы делаем конкатенацию с varchar, тогда что получаем, никак не пойму???
...
Рейтинг: 0 / 0
помогите новичку!!!
    #33217879
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторitvr interval;
.......
itvr = (traffinterval*2)||'' sec'';
эквивалентно
itvr = ((traffinterval*2)||\' sec\')::interval;
неявное преобразование типов
...
Рейтинг: 0 / 0
помогите новичку!!!
    #33217903
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
n@vigatorт.е. получается, что itvr это временной интервал, а когда мы делаем конкатенацию с varchar, тогда что получаем, никак не пойму???
А мы получаем интервал. В постгресе интервал и датавремя несколько разные вещи.
Итого мы получаем
Код: plaintext
1.
traffinterval* 2  - это время в секундах
, НО!!!
Для того что бы это понял постгрес мы делаем
Код: plaintext
1.
 (traffinterval* 2 )||'' sec'' - получаем строку типа "6 sec"
которую постгрес воспринимет как интервал и присваивает переменной itvr.

По моему будет так :)

А вообще как раз на эту тему написано здесь:
http://www.postgresql.org/docs/8.0/interactive/datatype-datetime.html и здесь
http://www.postgresql.org/docs/8.0/interactive/typeconv.html
...
Рейтинг: 0 / 0
помогите новичку!!!
    #33218115
n@vigator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. получается, что интервал - это просто величина(в нашем случае) в секундах.
А зачем надо делать такие преобразование, нельзя ли просто оперировать с этой величиной?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите новичку!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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