In Java posso dire Integer.MAX_VALUE
per ottenere il numero più grande che può contenere il tipo int
.Esiste una costante MAX_INT in Postgres?
Esiste una costante/funzione simile in Postgres? Mi piacerebbe evitare di codificare il numero.
Modifica: il motivo per cui lo sto chiedendo è questo. C'è una tabella legacy con un ID di tipo integer
, supportato da una sequenza. C'è un sacco di righe in arrivo in questa tabella. Voglio calcolare quanto tempo prima che scada lo integer
, quindi ho bisogno di sapere "quanti ID sono rimasti" divisi per "quanto velocemente li stiamo spendendo".
No, non esiste una tale costante Dove dovrebbe essere? Non ci sono "classi" predefinite come "Intero" in un database. Se vuoi puoi scrivere una funzione che restituisce semplicemente 2147483647 –
@a_horse_with_no_name Beh, ci sono un sacco di costanti predefinite e magiche in SQL, tra cui postgres: 'CURRENT_TIMESTAMP', per esempio. Non mi sembra affatto fuori luogo avere un 'MAX_INT' /' INT_MAX'. O, del resto, una funzione 'sizeof()' in stile C. – IMSoP
Nessuna di quelle funzioni predefinite in SQL mostra dettagli _implementation_. SQL non ha realmente a che fare con informazioni di basso livello come 'sizeof()' perché l'obiettivo di SQL è quello di liberarti dall'esigenza di saperlo. È possibile eseguire una query per la dimensione di un valore _, ma non per la dimensione del tipo di dati. La vera domanda è: perché pensi di averne bisogno? Qual è il problema di base che stai cercando di risolvere con quello? –