W Javie mogę powiedzieć Integer.MAX_VALUE
, aby uzyskać największy numer, który może pomieścić typ int
.Czy w PostgreScie jest stała MAX_INT?
Czy w Postgres występuje podobna stała/funkcja? Chciałbym uniknąć twardego kodowania numeru.
Edytuj: powodem, dla którego pytam, jest to. Istnieje starsza tabela z identyfikatorem typu integer
, poparta sekwencją. W tej tabeli znajduje się wiele przychodzących wierszy. Chcę obliczyć, ile czasu upłynie, zanim skończy się integer
, więc muszę wiedzieć "ile identyfikatorów zostało" podzielonych przez "jak szybko je wydamy".
Nie ma takiej stałej Gdzie to powinno być? W bazie danych nie ma wstępnie zdefiniowanych "klas", takich jak "Integer". Jeśli chcesz, możesz napisać funkcję, która po prostu zwraca 2147483647 –
@a_horse_with_no_name No cóż, istnieje wiele predefiniowanych i magicznych stałych w SQL, w tym postgres: 'CURRENT_TIMESTAMP', na przykład. Nie wydaje mi się, żebym miał "MAX_INT' /' INT_MAX'. Lub, jeśli o to chodzi, funkcja 'sizeof()' w stylu C. – IMSoP
Żadna z tych wstępnie zdefiniowanych funkcji w SQL nie ujawnia szczegółów implementacji_. SQL tak naprawdę nie zajmuje się niskopoziomowymi informacjami, takimi jak 'sizeof()', ponieważ celem SQL jest uwolnienie cię od konieczności poznania tego. Możesz zapytać o rozmiar _value_, ale nie o rozmiar typu danych. Prawdziwe pytanie brzmi: dlaczego myślisz, że tego potrzebujesz? Jaki jest podstawowy problem, który próbujesz rozwiązać z tym? –