sql >> Databáze >  >> RDS >> Oracle

Jak uložit pole bajtů v Oracle?

V Oracle je datový typ RAW vhodný pro ukládání binárních hodnot.

Problém s používáním datových typů znaků pro ukládání binárních dat spočívá v tom, že hodnoty podléhají překladu znakové sady .

Pokud znaková sada klienta neodpovídá znakové sadě databáze, pak hodnoty podléhají překladu. (To znamená, že binární hodnota v jednom kódování představuje konkrétní znak, ale tento znak může být reprezentován jinou binární hodnotou v jiné znakové sadě.

S datovým typem znaku zachovává Oracle hodnotu "character", nikoli kódovanou binární hodnotu.

Pokud chcete k ukládání binárních hodnot použít datový typ znak (např. CHAR nebo VARCHAR2), musíte binární hodnotu zakódovat jako prostý text a uložit a načíst zakódovanou hodnotu. Dvě oblíbená binární kódování na text jsou hexadecimální a base64 (uuencode).

Oracle poskytuje vestavěné funkce RAWTOHEX a HEXTORAW pro kódování a dekódování binárních (datový typ RAW) jako hexadecimálních řetězců (datový typ VARCHAR2).



  1. Escapující řetězce obsahující jednoduché uvozovky v PowerShellu připravené pro SQL dotaz

  2. Získejte agregovaný součet pole json v datech json Postgres NOSQL

  3. Primární klíče s Apache Spark

  4. Použití SSIS k dotazu ADO .NET zdrojového dotazu předávání parametrů ze serveru SQL Server