OracleÖеÄRawÀàÐͽâÊÍ
RAW£¬ÀàËÆÓÚCHAR£¬ÉùÃ÷·½Ê½RAW(L)£¬LΪ³¤¶È£¬ÒÔ×Ö½ÚΪµ¥Î»£¬×÷ΪÊý¾Ý¿âÁÐ×î´ó2000£¬×÷Ϊ±äÁ¿×î´ó32767×Ö½Ú¡£
¡¡¡¡LONG RAW£¬ÀàËÆÓÚLONG£¬×÷ΪÊý¾Ý¿âÁÐ×î´ó´æ´¢2G×Ö½ÚµÄÊý¾Ý£¬×÷Ϊ±äÁ¿×î´ó32760×Ö½Ú
¡¡¡¡½¨±í²Ù×÷:
¡¡¡¡create table raw_test (id number, raw_date raw(10));
¡¡¡¡²åÈërawÊý¾Ý²Ù×÷:
¡¡¡¡insert into raw_test values (1, hextoraw('ff'));
¡¡¡¡insert into raw_test values (utl_raw.cast_to_raw('051'));
¡¡¡¡É¾³ý±í²Ù×÷:
¡¡¡¡drop table raw_test;
¡¡¡¡µ±Ê¹ÓÃHEXTORAWʱ£¬»á°Ñ×Ö·û´®ÖÐÊý¾Ýµ±×÷16½øÖÆÊý¡£¶øÊ¹ÓÃUTL_RAW.CAST_TO_RAWʱ£¬Ö±½Ó°Ñ×Ö·û´®ÖÐÿ¸ö×Ö·ûµÄASCIIÂë´æ·Åµ½RAWÀàÐ͵Ä×Ö¶ÎÖÐ.
¡¡¡¡¿ÉÒÔʹÓÃdumpº¯Êý£¬²éѯ´æ´¢Çé¿ö£º
¡¡¡¡select id,raw_date, dump(raw_date, 16) dump_raw from raw_test;
¡¡¡¡OracleÖÐRAWºÍVarchar2³£ÓõÄÁ½¸öת»»º¯Êý
¡¡¡¡1. UTL_RAW.CAST_TO_RAW
¡¡¡¡¸Ãº¯Êý°´ÕÕȱʡ×Ö·û¼¯£¨Ò»°ãΪGB2312£©£¬½«VARCHAR2×Ö·û´®×ª»»ÎªRAW¡£
¡¡¡¡insert into cmpp_submit (dest_terminal_id,msg_content) values('13001081371',UTL_RAW.CAST_TO_RAW('ÄúºÃ£¡'));
¡¡¡¡2. UTL_RAW.CAST_TO_VARCHAR2
¡¡¡¡¸Ãº¯Êý°´ÕÕȱʡ×Ö·û¼¯ºÏ£¨Ò»°ãΪGB2312£©£¬½«RAWת»»ÎªVARCHAR2¡£
¡¡¡¡select UTL_RAW.CAST_TO_VARCHAR2(msg_content) from cmpp_deliver;
¡¡¡¡ÆäʵRAWºÍVARCHARÊÇÀàËÆµÄ,Ö»ÊÇ´æ´¢ÔÚRAWÀïµÄÊǶþ½øÖÆÖµ,ÔÚÈκÎʱºò²»»á×ö×Ô¶¯µÄ×Ö·û¼¯×ª»»,ÕâÊÇRAWºÍVARCHARµÄ²»Í¬,RAWÖ»ÊÇÒ»ÖÖÍⲿÀàÐÍ,ÆäÄÚ²¿´æ´¢ÊÇVARRAW
¡¡¡¡VARCHARµÄOracleÄÚ²¿¶¨ÒåÊÇ:struct { ub2 len; char arr[n] }
¡¡¡¡VARRAWµÄORACLEÄÚ²¿¶¨ÒåÊÇ: struct { ub2 len; unsigned char arr[n] }
Ïà¹ØÎĵµ£º
¡¡¡¡OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓÃ……
¡¡¡¡OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏàµ±Ó ......
1¡¢set linesize 100; ÉèÖó¤¶È
2¡¢set pagesize 30; ÉèÖÃÿҳÏÔʾÊýÄ¿
3¡¢em a.sql ´ò¿ª¼Çʱ¾
4¡¢@ a Ö´ÐÐÎļþaÖеĴúÂ룬¿ÉÖ¸¶¨ÎļþµÄ·¾¶ @d:a.txt ......
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ©ÖÐÖ´ÐУ¬
......
spool d:\deletetb.sql;
select 'delete ' || table_name || ' where to_char(col,'||'''yyyy'''||')='||'''2007'''||';'
from user_tables
where table_name in (select 'HS_' || lpad(rownum, '2', '0')
from dual
  ......