Andmetüübid

Täisarvud

Täisarvud on üldjuhul toetatud igas SQL-i põhises andmebaasis:

  • smallint - Täisarv vahemikus -32,768 kuni 32,767

  • int, integer - Täisarv vahemikus -2,147,483,648 to +2,147,483,647

  • bigint - Täisarv vahemikus -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

Tähelepanekud:

  • Sqlite 3 käsitleb kõiki täisarve 64-bitistena, mistõttu piirangud Sqlite puhul ei rakendu.

Ujukomaarvud

  • real - Varieeruva täpsusega, 6 numbrikohta

  • double, double precision - Varieeruva täpsusega, 15 numbrikohta

Sõned

Sõne väli on kõige tavalisema teksti hoiustamiseks. Sõltuvalt pikkusest ja pikkuse varieerumisest eristatakse põhiliselt kolme andmetüüpi:

  • character(n), char(n) - Fikseeritud pikkusega, tühikutega täidetud tekstiväli

  • character varying(n), varchar(n) - Varieeruva pikkusega tekstiväli

  • text - Piiranguta varieeruva pikkusega tekstiväli

Tähelepanekud:

  • Mysql 5.5 puhul rakendub 65,536 baiti tabeli rea kohta piirang. Tähele tuleks panna ka seda, et kui kasutusel on unicode kodeering, siis tuleb arvestada, et üks sümbol võib kasutada kuni 3 baiti mälu.

  • PostgreSQL 9.1 puhul jääb maksimaalne välja suurus 1GB kanti

Kuupäevad ja kellaajad

SQL-92 standard näeb ette järgnevate andmetüüpide tuge:

  • timestamp, tuntud ka kui datetime - Kuupäev ning kellaaeg

  • date - Kuupäev

  • time - Kellaaeg

  • interval - Ajavahemik

Tähelepanekud:

  • Sqlite ei toeta ametlikult ühtegi ülalnimetatud andmetüüpi, vaid soovitab kasutada ISO8601 vormingus text välja või ajavahemikku Unix epohhist (1970/01/01 00:00:00 UTC) sekunditena integer väljas

  • MySQL ei toeta ajatsoone

  • PostgreSQL peaks implementeerima korrektselt kõiki ülal nimetatud andmetüüpe

Muud andmetüübid

  • Geomeetrilised kujundid: polyline, point jms

  • Binaarandmetüübid

  • Võrguaadressid

  • Unikaalsed identifikaatorid (UUID)

  • XML

  • Massiivid, komposiittüübid

Erinevate andmetüüpidega töötamiseks ja võrdlemiseks leiab sobivad funktsioonid ja operaatorid PostgreSQL dokumentatsioonist

http://www.postgresql.org/docs/9.1/static/datatype.html

Postgres SQL