sql >> Databasteknik >  >> RDS >> Oracle

Hur lagrar man en uppsättning byte i Oracle?

I Oracle är RAW-datatypen lämplig för att lagra binära värden.

Problemet med att använda teckendatatyper för att lagra binär data är att värdena är föremål för teckenuppsättningsöversättning .

Om klientens teckenuppsättning inte matchar databasens teckenuppsättning, är värden föremål för översättning. (Det vill säga, ett binärt värde i en kodning representerar ett visst tecken, men det tecknet kan representeras av ett annat binärt värde i en annan teckenuppsättning.

Med teckendatatypen bevarar Oracle "tecken"-värdet, inte det kodade binära värdet.

Om du vill använda en datatyp för tecken (t.ex. CHAR eller VARCHAR2) för att lagra binära värden, måste du verkligen koda det binära värdet som vanlig text och lagra och hämta det kodade värdet. Två populära binär-till-text-kodningar är hexadecimal och base64 (uuencode).

Oracle tillhandahåller inbyggda funktioner RAWTOHEX och HEXTORAW för kodning och avkodning av binär (RAW-datatyp) som hexadecimala strängar (VARCHAR2-datatyp).



  1. Räkna data från flera tabeller med hjälp av SUM

  2. SQL växla från avkodning till fall

  3. Det går inte att ansluta till servern:postgresql på ubuntu i Windows undersystem för linux

  4. Fel vid skapande av unaccent-tillägg på PostgreSQL