Yhteenveto: Tässä opetusohjelmassa tutustut Oraclen VARCHAR2-tietotyyppiin ja siihen, miten sitä käytetään muuttuvan pituisten merkkijonosarakkeiden määrittelyyn.
Oraclen VARCHAR2-tietotyypin esittely
Muuttuvan pituisten merkkijonojen tallentamiseen käytetään Oraclen VARCHAR2-tietotyyppiä. VARCHAR2-sarakkeeseen voidaan tallentaa arvo, joka vaihtelee 1 ja 4000 tavun välillä. Se tarkoittaa, että yhden tavun merkistöllä voit tallentaa enintään 4000 merkkiä VARCHAR2-sarakkeeseen.
Kun luot taulukon, jossa on VARCHAR2-sarake, sinun on määritettävä merkkijonon enimmäispituus joko tavuina:
tai merkkeinä
Oraclessa käytetään oletusarvoisesti arvoa BYTE, jos et määritä nimenomaisesti arvoa BYTE tai CHAR arvoa max_size jälkeen. Toisin sanoen VARCHAR2(N)-sarakkeeseen voi mahtua enintään N tavua merkkejä.
Jos tallennat merkkijonon, jonka koko ylittää VARCHAR2-sarakkeen maksimikoon, Oracle antaa virheen.
Jos esimerkiksi määrität VARCHAR2-sarakkeen, jonka maksimikoko on 20. Yhden tavun merkkijonoon voi tallentaa enintään 20 merkkiä. Jos tallennat 21 merkkiä tai enemmän, Oracle antaa virheen.
Jos tallennat 10 merkkiä VARCHAR2(20)-sarakkeeseen, Oracle käyttää tallennukseen vain 10 tavua, ei 20 tavua. Siksi VARCHAR2-tietotyypin käyttäminen auttaa säästämään taulukon käyttämää tilaa.
Vertailtaessa VARCHAR2-arvoja Oracle käyttää täydennyksettömän vertailun semantiikkaa.
Oracle VARCHAR2 max length
Oraclen tietokanta 12c:stä lähtien VARCHAR2-tietotyypille voi määrittää maksimikoon 32767. Oracle käyttää MAX_STRING_SIZE-parametria maksimikoon hallintaan. Jos MAX_STRING_SIZE on STANDARD, VARCHAR2:n enimmäiskoko on 4000 tavua. Jos MAX_STRING_SIZE on EXTENDED, VARCHAR2:n enimmäiskoko on 32767.
Parametrin MAX_STRING_SIZE arvon saamiseksi käytetään seuraavaa kyselyä:

Vai käytetäänkö seuraavaa lauseketta:
Oracle VARCHAR2-esimerkkejä
Seuraavalla lausekkeella luodaan uusi taulukko nimeltä econtacts, johon tallennetaan työntekijöiden hätäyhteystietoja.
Taulukossa econtacts on kolme VARCHAR2-saraketta: first_name, last_name ja phone.
Seuraavalla lausekkeella lisätään uusi rivi econtacts-tauluun:
Toimi odotetusti, koska syötetyt tiedot eivät ylitä VARCHAR2-sarakkeen enimmäiskokoa.
Mutta seuraavan lausekkeen lisääminen ei onnistu:
Koska syötetty etunimi ylittää first_name-sarakkeen maksimipituuden, Oracle antoi seuraavan virheilmoituksen:
Tässä opetusohjelmassa olet tutustunut Oraclen VARCHAR2-tietotyyppiin ja siihen, miten VARCHAR2-tietotyyppiä voidaan käyttää muuttuvan pituisten merkkijonosarakkeiden määrittelyyn taulukossa.
- Oliko tästä opetusohjelmasta apua?
- KylläEi