Shrnutí: v tomto výukovém kurzu se seznámíte s datovým typem Oracle VARCHAR2
a jeho použitím pro definici sloupců se znakovými řetězci proměnné délky.
Úvod do datového typu Oracle VARCHAR2
Pro ukládání znakových řetězců proměnné délky se používá datový typ Oracle VARCHAR2
. Sloupec VARCHAR2
může ukládat hodnoty v rozsahu od 1 do 4000 bajtů. To znamená, že pro jednobajtovou znakovou sadu můžete ve sloupci VARCHAR2
uložit až 4000 znaků.
Při vytváření tabulky se sloupcem VARCHAR2
musíte zadat maximální délku řetězce buď v bajtech:
nebo ve znacích
Při výchozím nastavení používá Oracle BYTE
, pokud za max_size
výslovně neuvedete BYTE
nebo CHAR
. Jinými slovy, sloupec VARCHAR2(N)
může obsahovat až N
bajtů znaků.
Pokud uložíte řetězec znaků, jehož velikost přesahuje maximální velikost sloupce VARCHAR2
, Oracle vydá chybu.
Například pokud definujete sloupec VARCHAR2
s maximální velikostí je 20. To znamená, že sloupec VARCHAR2
může obsahovat až N
bajtů znaků. V jednobajtové znakové sadě můžete uložit maximálně 20 znaků. Pokud uložíte 21 nebo více znaků, Oracle vrátí chybu.
Pokud navíc do sloupce VARCHAR2(20)
uložíte 10 znaků, Oracle použije pro uložení pouze 10 bajtů, nikoli 20 bajtů. Použití datového typu VARCHAR2
vám proto pomůže ušetřit místa používaná tabulkou.
Při porovnávání hodnot VARCHAR2
používá společnost Oracle sémantiku porovnávání bez doplňování.
Oracle VARCHAR2 max length
Od databáze Oracle Database 12c můžete pro datový typ VARCHAR2
určit maximální velikost 32767. Společnost Oracle používá pro řízení maximální velikosti parametr MAX_STRING_SIZE
. Pokud je parametr MAX_STRING_SIZE
STANDARD
, pak je maximální velikost pro VARCHAR2
4000 bajtů. V případě, že parametr MAX_STRING_SIZE
je EXTENDED
, je maximální velikost pro VARCHAR2
32767.
Pro zjištění hodnoty parametru MAX_STRING_SIZE
použijte následující dotaz:
Nebo použijte následující příkaz:
Oracle VARCHAR2 příklady
Následující příkaz vytvoří novou tabulku s názvem econtacts
pro uložení nouzových kontaktů zaměstnanců.
Tabulka econtacts
má tři sloupce VARCHAR2
: first_name
, last_name
a phone
.
Následující příkaz vloží do tabulky econtacts
nový řádek:
Fungovalo to podle očekávání, protože vstupní data nepřesahují maximální velikost sloupce VARCHAR2
.
Následující příkaz se však vložit nepodařilo:
Protože vstupní křestní jméno přesahuje maximální délku sloupce first_name
, společnost Oracle vydala následující chybu:
V tomto kurzu jste se seznámili s datovým typem Oracle VARCHAR2
a s tím, jak datový typ VARCHAR2
použít k definování sloupců znakových řetězců proměnné délky v tabulce.
- Byl tento výukový kurz užitečný?
- AnoNe
.