powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / timestamp вопрос
7 сообщений из 7, страница 1 из 1
timestamp вопрос
    #39752884
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приветвтсую

встретились следующие значения в полях типа TIMESTAMP WITH TIME ZONE
подскажите кто знает, єто нужно трактовать буквально как 18 и 218 год или там что-то более понятное лежит ?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
drop table date_test;

CREATE TABLE date_test (
date_tz TIMESTAMP WITH TIME ZONE
,date_wtz TIMESTAMP
);


insert into date_test(date_tz) values('0018-12-06 17:16:58.829');
insert into date_test(date_tz) values('0218-12-06');

select * 
from date_test;

update date_test
set date_wtz = date_tz;

select * from date_test;
...
Рейтинг: 0 / 0
timestamp вопрос
    #39752903
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_human,

да, 18 и 218 года соответственно.

Вот функция вывода таймштампа: https://github.com/postgres/postgres/blob/REL_10_STABLE/src/backend/utils/adt/timestamp.c#L214
Зачем EncodeDateTime добивает год до 4 чисел - я не знаю.
...
Рейтинг: 0 / 0
timestamp вопрос
    #39752906
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_human,

"нужно трактовать буквально как 18 и 218 год " - именно так.
...
Рейтинг: 0 / 0
timestamp вопрос
    #39752915
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
яснопонятно.

MelkijЗачем EncodeDateTime добивает год до 4 чисел - я не знаю.

скорее всего
/* Compatible with ISO-8601 date formats */
...
Рейтинг: 0 / 0
timestamp вопрос
    #39752922
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_human,

угу, я после отправки сообщения подумал, что наверное это стандарты требуют.
...
Рейтинг: 0 / 0
timestamp вопрос
    #39754677
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть табличка из которой неким сервисом выбираются данньіе(возможно все)
но процес валиться строго на двух записях со следующими значениями, которьіе скорее всего кораптнутьіе
Код: plaintext
1.
0018-12-06 17:16:58.829
0218-12-06 17:11:58.829

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
=> \d+ source_table
                                   Table "public.source_table"
      Column      |           Type           |       Modifiers        | Storage  | Stats target | Description
------------------+--------------------------+------------------------+----------+--------------+-------------
 fld1             | integer                  | not null               | plain    |              |
 time_field       | timestamp with time zone | not null               | plain    |              |
 fld2             | integer                  | default 0              | plain    |              |
 fld3             | text                     | default ''::text       | extended |              |
 fld4             | smallint                 |                        | plain    |              |
 fld5             | timestamp with time zone | not null default now() | plain    |              |
 fld6             | bigint                   |                        | plain    |              |
Indexes:
    "abc_source_table2" btree (time_field, fld1)
Triggers:
    insert_source_table_redirect_trigger BEFORE INSERT ON source_table FOR EACH ROW EXECUTE PROCEDURE insert_source_table_redirect_function()
Child tables: source_table_20181224,
              source_table_20181225,
              source_table_20181226,
              source_table_20181227,
              source_table_20181228
Has OIDs: no

вот такой запрос, никак не находит проблемньіе две записи

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select 
	 EXTRACT(YEAR  FROM time_field) as year
	,EXTRACT(MONTH FROM time_field) as month
	,EXTRACT(DAY FROM   time_field) as day
	,count(*)
from source_table
group by 
	 EXTRACT(YEAR FROM  time_field)
	,EXTRACT(MONTH FROM time_field)
	,EXTRACT(DAY FROM   time_field);



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 year | month | day | count
------+-------+-----+-------
 2018 |    12 |  25 | 51552
 2018 |    12 |  24 | 51573
 2018 |    12 |  26 | 51589
 2018 |    12 |  28 | 20605
 2018 |    12 |  27 | 51433
(5 rows)

Как ети две записи идентифицировать ?
Может кто что посоветует
...
Рейтинг: 0 / 0
timestamp вопрос
    #39754702
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с етой таблицой все ок
сорри за фальстарт
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / timestamp вопрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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