技术开发 频道

Oracle常见1000问之内部函数及管理视图

  256. CONVERT(CHAR,DEST_CHAR_SET,SOURCE_CHAR_SET)

  CONVERT将字符串CHAR中的字符从SOURCE_CHAR_SET标识的字符集转换为由DEST_CHAR_SET标识的字符集。

  SELECTCONVERT('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。

  CREATETABLE TEST(CHAR_COL CHAR(20),NCHAR_COL NCHAR(20));
  INSERTINTO 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的字节将被返回,缺省是返回整数表示。

  SELECTDUMP('ABC'1016) FROM TEST;
  selectdump(ename,
832) 'example'from emp where name='ccbzzp';

  264. empty_b|clob()

  返回一个空的LOB定位符,用在初始化LOB变量,或用在INSERT及UPDATE声明去初始化LOB列或将其属性置为空。

  INSERTINTO TABLE1 VALUES(EMPTY_BLOB());
  
UPDATE TABLE1 SET CLOB_COL=EMPTY_BLOB();
0
相关文章