LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 929|回复: 0

ORACLE常用傻瓜問題1000問之七

[复制链接]
发表于 2003-10-27 14:21:31 | 显示全部楼层 |阅读模式
作者:CCBZZP   来自:爱U论坛

大家在應用ORACLE的時候可能會遇到很多看起?聿浑y的問題, 特別對新手?碚f, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步!

對ORACLE高手?碚f是不用看的.



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中的字符?腟OURCE_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被指定,則?腟TART_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是指在服務器的文件系統上?際搜索路?饺膭e名. 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轉換為16進制.
SELECT REFTOHEX(C2) FROM TABLE1;

278. MAKE_REF(TABLE,KEY,KEY...)
通過把給定的鍵作為主鍵?韯摻ńo定視圖對象中一行的引用.
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, 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;


待續...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表