当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

ORACLE常用傻瓜问题1000问之七


  
   大家在应用ORACLE的时候可能会遇到很多看起来不难的问题, 特别对新手来说, 今天我简单把它总结一下, 发布给大家, 希望对大家有帮助! 和大家一起探讨, 共同进步!
  
  对ORACLE高手来说是不用看的。
  
  ORACLE内部函数篇
  
  5. CHARTOROWID(CHAR)
  
  将包含外部语法ROWID的CHAR或VARCHAR2数值转换为内部的二进制语法,参数CHAR必须是包含外部语法的ROWID的18字符的字符串.
  
  SELECT NAME FROM BSEMPMS WHERE ROWID=CHARTOROWID('AAAAfZAABAAACp8AAO');
  
  NAME : LEIXUE
  
  256. CONVERT(CHAR,DEST_CHAR_SET,SOURCE_CHAR_SET)
  
  CONVERT将字符串CHAR中的字符从SOURCE_CHAR_SET标识的字符集转换为由DEST_CHAR_SET标识的 
  字符集
  
  SELECT CONVERT('GroB','US7ASCII','WE8HP') 'CONVERSION' FROM PUBS;
  
  CONVERSION: Gross
  
  257. HEXTORAW(CHAR)
  
  将包含十六进制的CHAR转换为一个RAW数值.
  
  INSERT INTO BSEMPMS(RAW_COLUMN) SELECT HEXTORAW('7D') FROM TEST;
  
  258. RAWTOHEX(RAW)
  
  将RAW数值转换为一个包含十六进制的CHAR值.
  
  SELECT RAWTOHEX(RAW_COLUMN) 'CONVERSION' FROM BSEMPMS;
  
  CONVERSION: 7D
  
  259. ROWIDTOCHAR(ROWID)
  
  将一个ROWID数值转换为VARCHAR2数据类型.
  
  SELECT ROWID FROM BSEMPMS WHERE ROWIDTOCHAR(ROWID) LIKE '%BR1AAB%';
  
  260. TO_MULTI_BYTE(CHAR)
  
  将CHAR中的单字节转换为等价的多字节字符.
  
  SELECT TO_MULTI_BYTE('ASFDFD') FROM TEST;
  
  261. TO_SINGLE_BYTE(CHAR)
  
  将CHAR中的多字节转换为等价的单字节字符。
  
  SELECT TO_SINGLE_BYTE('ASFDFD') FROM TEST;
  
  262. TRANSLATE USING(TEXT USING {CHAR_CS|NCHAR_CS})
  
  将文本TEXT按照指定的转换方式转换成数据库字符集和民族字符集。
  
  其中TEXT是待转换的。
  
  USING CHAR_CS参数转换TEXT为数据库字符集,输出数据类型是VARCHAR2.
  
  USING NCHAR_CS参数转换TEXT为数据库字符集,输出数据类型是NVARCHAR2.
  
  CREATE TABLE TEST(CHAR_COL CHAR(20),NCHAR_COL NCHAR(20));
  
  INSERT INTO TEST VALUES('HI,N'BYE');
  
  SELECT * FROM TEST;
  
  263. DUMP(EXPR,RETURN_FORMAT,START_POSITION,LENGTH)
  
  返回一个包含数据类型代码,字节长度等内部表示信息的VARCHAR2值.返回结果是当前数据库字符集,数据类型按照下面规定的内部数据类型的编码作为一个数字进行返回:
  
  代码 数据类型
  0 VARCHAR2
  1 NUMBER
  8 LONG
  12 DATE
  23 RAW
  24 LONG RAW
  69 ROWID
  96 CHAR
  106 MSSLABEL
  
  参数RETUEN_FORMAT指定按照下面的基数表示返回的数值.
  
  RETURN_FORMAT RESULT
  8 8进制
  10 10进制
  16 16进制
  17 单字符表示
  
  如果参数RETURN_FORMAT没有指定,则按十进制表示返回.
  
  如果参数START_POSITION和LENGTH被指定,则从START_POSITION开始的长为LENGTH的字节将被返回,缺省是返回整数表示.
  
  SELECT DUMP('ABC',1016) FROM TEST;
  
  select dump(ename,8,3,2) 'example' from emp where name='ccbzzp';
  
  264. empty_b|clob()
  
  返回一个空的LOB定位符,用在初始化LOB变量,或用在INSERT及UPDATE声明去初始化LOB列或将其属性置为空.
  
  INSERT INTO TABLE1 VALUES(EMPTY_BLOB());
  
  UPDATE TABLE1 SET CLOB_COL=EMPTY_BLOB();
  
  265. BFILENAME('DIRECTORY','FILENAME')
  
  返回一个BFILE定位符,相关的二进制LOB物理文件在服务器的文件系统上.目录DIRECTORY是指在服务器的文件系统上实际搜索路径全名的别名. FILENAME是指服务器的文件系统的文件名.
  
  INSERT INTO FILE_TAB VALUES(BFILENAME('LOB_DIR','IMAGE1.GIF'));
  
  266. GREATEST(EXPR,EXPR,...)
   
  GREATEST返回参数的最大值.
  
  SELECT GREATEST('HARRY','HARRIOT','HAROLD') 'SAMPLE' FROM TABLE1;
  
  267. LEAST(EXPR,EXPR,...)
  
  LEAST返回参数的最小值.
  
  SELECT LEAST('HARRY','HARRIOT','HAROLD') 'SAMPLE' FROM TABLE1;
  
  268. NLS_CHARSET_DECL_LEN(BYTECNT,CSID)
  
  返回一个NCHAR列的宽度.
  
  SELECT NLS_CHARSET_DECL_LEN(200,NLS_CHARSET_ID('JA16EEFDFDF')) FROM TABLE1;
  
  269. NLS_CHARSET_ID(TEXT)
  
  返回相应于NLS字符集名字的NLS字符集ID数.
  
  SELECT NLS_CHARSET_D('JADFDFFDF') FROM TABLE1;
  
  270. NLS_CHARSET_NAME(N)
  
  返回相应于ID数N的NLS字符集名称.
  
  SELECT NLS_CHARSET_NAME(2) FROM TABLE1;
  
  271. NVL(EXPR1,EXPR2)
  
  若EXPR1是NULL,则返回EXPR2,否则返回EXPR1.
  
  SELECT NAME,NVL(TO_CHAR(COMM),'NOT APPLICATION')刀坁????? 
相关内容
赞助商链接