1. kamerák
  2. Car Audio & Electronics
  3. Home Audio
  4. Personal Audio
  5. TV-k
  6. Okos otthon
  >> Elektronikai Technológia Online >  >> Okos otthon >> Okos élet

Clobból Varchar2-vé alakítás az Oracle-ben

Az adatok karakterlánc-formátumú konvertálása a különböző adattípusok között általában egyszerű folyamat az Oracle-ben, de egyes esetek kicsit nagyobb kihívást jelentenek, mint mások. Ezek egyike akkor fordul elő, amikor az Oracle-t használja a clob varchar2-re való konvertálására, ami nehéz, mert egy varchar2 oszlop maximum 4000 karakterből áll, míg a clob hatalmas mennyiségű karakteradatot képes tárolni. Célját azonban továbbra is elérheti, ha használja a dbms_lob substr metódust vagy a to_char módszert, és megadja a maximális méretet.

CLOB és VARCHAR2 magyarázata

A CLOB (vagy köznyelvben "clob") a "karakter nagy objektum" rövidítése, és akár 4 GB adat tárolására is képes. Számos adatbázisrendszer használja, köztük a DB2 és az Oracle. A CLOB akkor hasznos, ha nagy mennyiségű adatot kell tárolnia, de maga a méret bizonyos helyzetekben problémákat okozhat. Ez az oka annak, hogy az Oracle CLOB-ról egy kezelhetőbb méretű karakterlánc-formátumra való átalakítás gyakran jó módszer a műveletek végrehajtása előtt.

A VARCHAR2 formátum kisebb mennyiségű adatot tárol, általában 4000 bájtig, hacsak nem használ kiterjesztett maximális karakterláncméretet, amely esetben akár 32 767 bájtot is elérhet. Egybájtos karakterkészlet esetén általában legfeljebb 4000 karaktert kaphat egy oszlopban. A két adatformátum maximális mérete közötti eltérés az átalakítás során felmerülő problémák.

A dbms_lob substr módszer

A clob karakterlánc varchar2-vé alakításához nyissa meg az SQL *Plus programot. A végrehajtandó átalakítás szintaxisa:

SELECT dbms_lob.substr( clob_column, for_how_many_byte, from_which_byte ) FROM tábla

Itt a zárójelben lévő értékek azok, amelyeket módosítani kell, valamint a "táblázat" a végén. Ezek megfelelnek az oszlopnak ("clob_column") és a táblázatnak, amellyel dolgozik. A "for_how_many_bytes" lehetőséget ad annak meghatározására, hogy hány bájtnyi adatot szeretne konvertálni, a "from_which_byte" pedig egy kezdőpont megadását.

Tehát, ha van egy "adók" nevű táblája és egy "net_pay" nevű mezője, és feltéve, hogy 4000 bájtot szeretne az elsőtől kezdve, akkor írja be:

SELECT dbms_lob.substr(net_pay, 4000, 1) FROM adók

A karakterlánc varchar2 formátumba konvertálásához.

A TO_CHAR módszer

Használhatja a TO_CHAR parancsot is nagyon hasonló szintaxissal, hogy elérje ugyanazt a célt:

SELECT TO_CHAR(SUBSTR (clob_column,0,3999)) FROM táblázat

Itt a kezdő és a záró bájtok 0 és 3999 értékként vannak megadva (egy 4000 karakteres karakterlánc elejétől kezdődően), de a "clob_column" és a "table" mezőket pontosan ugyanúgy használják, mint korábban. Tehát ugyanabban a példában beírhatja:

SELECT TO_CHAR(SUBSTR (net_pay,0,3999)) FROM adókból

Alapvetően ahelyett, hogy egyetlen lépésben fejezné be a folyamatot, ez a SUBSTR paranccsal húz ki egy részkarakterláncot a nagyobb karakterláncból, majd a "to_char" karakterláncot használja a konverzió kezelésére. Ha a kérdéses clob oszlop 4000 bájtnál kevesebb információt tartalmaz, akkor a to_char után zárójelben megadhatja az oszlop nevét ahelyett, hogy megadna egy karakterláncot.


  1. Hogyan lehet átalakítani a DVR DVD
  2. Hogyan lehet átalakítani a Loran
  3. Hogyan lehet átalakítani a GPX fájl
  4. Hogyan lehet átalakítani a Dolby 5,1-7,1
  5. Hogyan lehet átalakítani Atrac3 CD-ről