ORACLE常用傻瓜問題1000問之七

oracle

                    ORACLE常用傻瓜問題1000問之七

作者:  CCBZZP

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

     對ORACLE高手來說是不用看的.

 
   
  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;

   待續...

 

 

时间: 2025-01-30 07:26:57

ORACLE常用傻瓜問題1000問之七的相关文章

ORACLE常用傻瓜問題1000問(之八)

oracle                                   ORACLE常用傻瓜問題1000問(之八) 作者: CCBZZP         大家在應用ORACLE的問題可能會遇到很多簡單的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 9I管理的V$视图. 281. V$ACCESS    显示当前被锁定的数据库中的对象及正在访问他们的会话. 282. V$ACTIVE_INSTANCES    为当前安装的数据库中出现的所有实例建立

ORACLE常用傻瓜問題1000問(之五)

oracle                 ORACLE常用傻瓜問題1000問(之五)   作者:  CCBZZP           大家在應用ORACLE的時候可能會遇到很多看起來不難的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步!           對ORACLE高手來說是不用看的.     本讲主要讲的是SQL语句的优化方法! 主要基于ORACLE9I的.174. /*+ALL_ROWS*/   表明对语句块选择基于

ORACLE常用傻瓜問題1000問(之一)

oracle                                             ORACLE常用傻瓜問題1000問(之一)    作者:  CCBZZP           大家在應用ORACLE的時候可能會遇到很多看起來不難的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步!         對ORACLE高手來說是不用看的.   1. Oracle安裝完成后的初始口令?   internal/oracle

ORACLE常用傻瓜問題1000問(之六)

oracle               ORACLE常用傻瓜問題1000問(之六) 作者:  CCBZZP        大家在應用ORACLE的時候可能會遇到很多看起來不難的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步!      對ORACLE高手來說是不用看的.            ORACLE內部函數篇204. 如何得到字符串的第一個字符的ASCII值?    ASCII(CHAR)    SELECT ASCII(

ORACLE常用傻瓜問題1000問(之十一)

oracle                 ORACLE常用傻瓜問題1000問(之十一)作者:  CCBZZP    9I管理的数据字典USER视图. 645. USER_ALL_TABLES    包含对用户可用的表的描述. 646. USER_ARGUMENTS    列出对用户可存取的对象中的参数. 647. USER_ASSOCIATIONS    当前用户所拥有的相关对象的用户定义的统计. 648. USER_AUDIT_OBJECT    关于对象的语句审计跟踪记录. 649. U

ORACLE常用傻瓜問題1000問(之十二)

oracle         ORACLE常用傻瓜问题1000问(之十二)   作者: CCBZZP      9I管理的数据字典ALL视图.   783. ALL_ALL_TABLES    用户可存取的所有表. 784. ALL_ARGUMENTS    用户可存取的对象的所有参数. 785. ALL_ASSOCIATIONS    用户定义的统计信息. 786. ALL_BASE_TABLE_MVIEWS    用户可存取的所有物化视图信息. 787. ALL_CATALOG    用户可

ORACLE常用傻瓜問題1000問(之三)

oracle 88. CHR()的反函數是? ASCII() SELECT CHAR(65) FROM DUAL; SELECT ASCII('A') FROM DUAL; 89. 字符串的連接 SELECT CONCAT(COL1,COL2) FROM TABLE ; SELECT COL1||COL2 FROM TABLE ; 90. 怎么把select出来的结果导到一个文本文件中? SQL>SPOOL C:\ABCD.TXT; SQL>select * from table; SQL &

ORACLE常用傻瓜問題1000問(之二)

oracle 46. 如何在字符串里加回车? select 'Welcome to visit'||chr(10)||'www.CSDN.NET' from dual ; 47. 中文是如何排序的? Oracle9i之前,中文是按照二进制编码进行排序的. 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序).笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序).部首(第二顺序)排序 S

ORACLE常用問題1000問(之一)

oracle 大家在應用ORACLE的時候可能會遇到很多看起來不難的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步! 對ORACLE高手來說是不用看的. 1. Oracle安裝完成后的初始口令? internal/oracle sys/change_on_install system/manager scott/tiger sysman/oem_temp 2. ORACLE9IAS WEB CACHE的初始默认用户和密码? adm