|
Как одним запросом определить, что тип данных является числовым ?
|
|||
---|---|---|---|
#18+
Задача простая ? Пакет https://github.com/petere/pguint устанавливает 5 базовых типов: int1 , uint1 , uint2 , uint4 , uint8 . проблема в том, что для этих типов поле " pg_type.typcategory " равен " U " (user type), а не " N " (numeric type). И тем не менее, задача решается. Кто справится ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2021, 16:37 |
|
Как одним запросом определить, что тип данных является числовым ?
|
|||
---|---|---|---|
#18+
Cyrax_02, Что если исправить uint.sql и для CREATE TYPE поставить CATEGORY = 'N' ?? Будет категория число, что в общем-то даже и лучше для парсера понимать, что там у вас. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2021, 00:06 |
|
Как одним запросом определить, что тип данных является числовым ?
|
|||
---|---|---|---|
#18+
grgdvo Что если исправить uint.sql и для CREATE TYPE поставить CATEGORY = 'N' ?? Будет категория число, что в общем-то даже и лучше для парсера понимать, что там у вас. Да, можно исправить. Но вариант будет работать только для меня. Решение должно быть общее, для всех. Т.е. должно работать после установки расширения uint по умолчанию (без правок скрипта). Другие расширения также могут создавать новые целочисленные типы с категорией "U". Согласно справке, категория "U" как раз и предназначена для всех пользовательских типов, не зависимо от их конкретного типа. Т.е. указание категории "U" для пользовательского целочисленного типа формально является правильным, а "N" - неправильным. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2021, 20:34 |
|
Как одним запросом определить, что тип данных является числовым ?
|
|||
---|---|---|---|
#18+
Сейчас может чушь скажу, по классам операторов и возвращаемым значениям. Например если определен +, то какой тип результата. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2021, 21:41 |
|
Как одним запросом определить, что тип данных является числовым ?
|
|||
---|---|---|---|
#18+
Cyrax_02, ну есть еще вот такие функции Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2021, 10:21 |
|
Как одним запросом определить, что тип данных является числовым ?
|
|||
---|---|---|---|
#18+
Не знаю, может у меня одного такая проблема: никогда ничего не могу найти в справках поиском. Ни в MySQL, ни PostgreSQL, ни где-бы то ни было ещё. Вот и сейчас - если Яндекс не находит, то и поиск в официальной справке с вероятностью 99% тоже не найдёт. Пример - функция int4in . Хрен найдёшь. grgdvo Cyrax_02, ну есть еще вот такие функции Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
И как эти конструкции могут помочь в проверке типа данных (например, uint4 ) на "целочисленность" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2021, 22:36 |
|
Как одним запросом определить, что тип данных является числовым ?
|
|||
---|---|---|---|
#18+
Cyrax_02, int4in это внутренняя служебная функция... поэтому в доке ее нет (и в приложениях я бы на такие вещи не стал бы закладываться без крайней необходимости). в доке они упомянуты в https://www.postgresql.org/docs/13/sql-createtype.html в части base types ( input_function and output_function и тд). -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2021, 23:02 |
|
|
start [/forum/topic.php?fid=53&fpage=16&tid=1994207]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 124ms |
0 / 0 |