economia news e media viaggi informatica internet salute e benessere int rattenimento e spettacolo sport tempo libero istruzio ne e formazione arte cultura scienza

PL-SQL

Il linguaggio pl/sql - seconda parte

A cura di Andrea Silvestri

Pubblicato il 03/04/2002

Descrizione degli elementi che compongono il linguaggio - Tipi di dati

Tipi di dati
Il linguaggio fornisce un'esauriente quantita' di tipi di dati scalari (atomici) e composti.
I primi, che analizzeremo in questo intervento, possono essere suddivisi in quattro categorie:

  • Numerici
  • Stringhe
  • Booleani
  • Date

Numerici
Possono essere a loro volta suddivisi in interi e decimali. Per quanto riguarda gli interi i tipi a disposizione sono:
  • BINARY_INTEGER
    Permettono di memorizzare interi con segno, il range varia da -231 + 1 a 231 - 1.
  • POSITIVE e NATURAL
    Sono entrambi sottotipi dei binary_integer. I primi vanno da 1 a 231 i secondi da 1 a 231.
  • INTEGER
  • SMALLINT
  • INT
Nel caso dei decimali i tipi a disposizione sono:
  • NUMBER
  • FLOAT
  • DEC
  • DECIMAL
  • DOUBLE PRECISION
  • NUMERIC
  • REAL
  • PLS_INTEGER (a partire dalla versione 2.3 di pl/sql)
I number vanno da 1.0E-129 a 9.999E125. Gli altri sono sottotipi dei number.
Una variabile di tipo number si dichiara specificando la precisione e la scala:

number(precisione,scala);

la precisione rappresenta il numero totale di cifre mentre la scala le cifre decimali.
Quindi per rappresentare il numero 123.34 devo definire una variabile di tipo number(5,2). Se la scala non e' sufficiente a contenere i decimali il numero viene arrotondato.
La scala puo' anche essere un numero negativo, in questo caso l'arrotondamento avviene alla sinistra della virgola, quindi il numero 12345 memorizzato in un number(5,-2) diventerebbe 12300.
La scala puo' anche essere superiore della precisione che in questo caso definisce il numero di cifre, tutte decimali, la differenza fra i due valori determina il numero di zeri con cui deve iniziare la cifra memorizzata in questo tipo. Ad esempio number(3,5) puo' contenere la cifra .00123 ma non .0123 o .123 etc.

continua

I link correlati all'argomento

Vuoi essere aggiornato sulle novità della guida?

Feed RSS XML vostro feed RSS