ORACLE常见问题1000问(之七)

ORACLE内部函数篇

   255. 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') FROM TABLE1;

   272. UID

   返回唯一标识当前数据库用户的整数.

   SELECT UID FROM TABLE1;

   273. USER
   用VARCHAR2数据类型返回当前ORACLE用户的名称.

   SELECT USER,UID FROM TABLE1;

   274. USERENV(OPTION)

   返回当前的会话信息.

   OPTION='ISDBA'若当前是DBA角色,则为TRUE,否则FALSE.

   OPTION='LANGUAGE'返回数据库的字符集.

   OPTION='SESSIONID'为当前会话标识符.

   OPTION='ENTRYID'返回可审计的会话标识符.

   OPTION='LANG'返回会话语言名称的ISO简记.

   OPTION='INSTANCE'返回当前的实例.

   SELECT USERENV('LANGUAGE') FROM DUAL;

   275. VSIZE(EXPR)

   返回EXPR内部表示的字节数.

   SELECT NAME,VSIZE(NAME) FROM TABLE1;

   276. DEREF(E)

   返回参数E的对象引用.

   SELECT DEREF(C2) FROM TABLE1;

   277. REFTOHEX(R)

   将参数R转换为16进制.

   SELECT REFTOHEX(C2) FROM TABLE1;

   278. MAKE_REF(TABLE,KEY,KEY...)

   通过把给定的键作为主键来创建给定视图对象中一行的引用.

   CREATE TYPE T1 AS OBJECT(A NUMBER,B NUMBER);

   CREATE TABLE TB1(C1 NUMBER,C2 NUMBER,PRIMARY KEY(C1,C2));

   CREATE VIEW V1 OF T1 WITH OBJECT OID(A,B) AS SELECT * FROM TB1;

   SELECT MAKE_REF(V1,1,3) FROM PUBS;

   279. STDDEV(DISTINCT|ALL X)

   STDDEV给出一组行值的标准差.

   SELECT STDDEV(SALARY) AS EXAMPLE FROM EMPLOYEE;

   280. VARIANCE(DISTINCT|ALL X)

   VARIANCE返回一组行中所有value的方差.

   SELECT VARIANCE(SALARY) AS EXAMPLE FROM EMPLOYEE。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值