Oracle ×Ö·û´®³¤¶Èº¯Êý
LENGTH calculates length using characters as defined by the input character set.
LENGTHB uses bytes instead of characters.
VSIZE returns the number of bytes in the internal representation of expr.
LENGTHC uses Unicode complete characters.
LENGTH2 uses UCS2 codepoints.
LENGTH4 uses UCS4 codepoints
select length('adfadºÏÀí') "bytesLengthIs" from dual --7
select lengthb('adfad') "bytesLengthIs" from dual --5
select lengthb('adfadºÏÀí') "bytesLengthIs" from dual --11
select vsize('adfadºÏÀí') "bytesLengthIs" from dual --11
select lengthc('adfadºÏÀí')"bytesLengthIs" from dual --7
Òò´Ë£¬ÔÚutf-8µÄ×Ö·û¼¯ÏÂ
lengthb=vsize
lengthc=length
utf-8µÄÖÐÎÄ×Ö·ûÕ¼ÓÃ3¸ö×Ö½Ú,gbkµÄÖÐÎÄ×Ö·ûÕ¼ÓÃ2¸ö×Ö½Ú,iso-8859-1µÄÖÐÎÄ×Ö·û±»Ê¶±ðΪռÓÃ2¸ö×Ö½Ú,iso²»Ö§³ÖÖÐÎÄ×Ö·ûµÄ±àÂë,Ó¦¸ÃÊǶ¼µ±³Éij¸öÀ¶¡×ÖĸÁË.OracleûÓйØÏµ£¬oracleÖ»ÊǸºÔð´æ´¢Êý¾Ý.
¿ÉÒÔÏÈÓà select * from v$nls_parameters ¿´¿´oracleµÄ×Ö·û¼¯
Ïà¹ØÎĵµ£º
oracle Óαê
¹Ø¼ü×Ö: oracle Óαê
1. Óαê: ÈÝÆ÷£¬´æ´¢SQLÓï¾äÓ°ÏìÐÐÊý¡£
2. ÓαêÀàÐÍ: ÒþʽÓα꣬ÏÔʾÓα꣬REFÓαꡣÆäÖУ¬ÒþʽÓαêºÍÏÔʾÓαêÊôÓÚ¾²Ì¬Óα꣨ÔËÐÐǰ½«ÓαêÓëSQLÓï¾ä¹ØÁª£©,REFÓαêÊôÓÚ¶¯Ì¬Óαê(ÔËÐÐʱ½«ÓαêÓëSQLÓï¾ä¹ØÁª)¡ ......
oracleÀïµÄextendµÄÒâ˼
À©Õ¹ÒÑÖªµÄÊý×é¿Õ¼ä£¬Àý£º
DECLARE
TYPE CourseList IS TABLE OF VARCHAR2(10);
courses CourseList;
BEGIN
-- ³õʼ»¯Êý×éÔªËØ£¬´óСΪ3
courses := CourseList( 'Biol 4412 ', 'Psyc 3112 ', 'Anth 3001 ');
-- ΪÊý×éÔö¼ÓÒ»¸öÔªËØ£¬Êý×é´óСΪ4£¬Ä©Î²µÄÔªËØÎªNULL
courses.EXTEN ......
Êý¾ÝÀàÐÍʹÓÃ
1.ÉùÃ÷£º
a.¸ñʽ£ºVariable_name [constant] databyte [not null] [:=default expression]
b.±äÁ¿Óë³£Á¿ÉùÃ÷»ù±¾Ò»Ö£¬Ê¹ÓÃconstantÉùÃ÷µÄΪ³£Á¿£¬²»Ê¹ÓÃΪ±äÁ¿£¬²¢ÇÒ¸³ÖµÖ»ÄÜÔÚDECLAREÇøÓò¸³Öµ£»
c.ʹÓÃ%TYPEºÍ%ROWTYPEÉùÃ÷¿ÉÒÔʹ±äÁ¿µÄÀàÐÍÓë±íÖÐ×Ö¶ÎÀàÐÍ»òÕû¸ö¼Ç¼ÀàÐͱ ......
oracleÖÐ×Ô¶¨ÒåÊý¾ÝÀàÐÍ
oracleÖÐÓлù±¾µÄÊý¾ÝÀàÐÍ£¬Èçnumber£¬varchar2£¬date£¬numeric£¬float....µ«ÓÐʱºòÎÒÃÇÐèÒªÌØÊâµÄ¸ñʽ£¬È罫name¶¨ÒåΪ
£¨firstname,lastname£©µÄÐÎʽ£¬ÎÒÃÇÏë°ÑÕâ¸ö×÷Ϊһ¸ö±íµÄÒ»Áп´´ý£¬Õâʱºò¾Í²»ÒªÎÒÃÇ×Ô¼º¶¨ÒåÒ»¸öÊý¾ÝÀàÐÍ
create or replace type type_name as object(firstname varchar ......
SQLÖеĵ¥¼Ç¼º¯Êý
1.ASCII
·µ»ØÓëÖ¸¶¨µÄ×Ö·û¶ÔÓ¦µÄÊ®½øÖÆÊý;
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
A A ZERO &nbs ......