金沙棋牌app手机下载

当前位置:金沙棋牌 > 金沙棋牌app手机下载 > 金沙棋牌app手机下载Oracle基本数据类型总结,O

金沙棋牌app手机下载Oracle基本数据类型总结,O

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-11-09 19:47

一同事在写脚本时,遇到一个关于LIKE里面使用不同的变量类型导致查询结果不一致的问题,因为这个问题被不同的人问过好几次,索性总结一下,免得每次都要解释一遍,直接丢一篇博客岂不是更方便!其实看似有点让人不解的现象背后实质跟数据类型的实现有关。

ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。

  1. /+NOCACHE(TABLE)/
    当进行全表扫描时,CACHE提示能够将表的检索块放置在缓冲区缓存中最近最少列表LRU的最近使用端
    例如:
    SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

  2. /+APPEND/
    直接插入到表的最后,可以提高速度.
    insert /+append/ into test1 select * from test4 ;

  3. /+NOAPPEND/
    通过在插入语句生存期内停止并行模式来启动常规插入.

ORACLE常见问题一千问[201至300](不怕学不成、就怕心不诚!)

 

在讲叙字符串类型前,先要讲一下编码。字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB)两种。数据库中的字符串数据都通过字符集将字符转换为数字后(二进制),才存储到数据块中。通过不同的编码集转换,即便是相同的字符,也可能会转换成不同的二进制编码。这也是产生乱码的原因。数据库的编码格式一般是在创建数据库时指定的。当然也可以修改数据库的编码。

insert /+noappend/ into test1 select * from test4 ;

 

下面我们构造这样一个类似的简单案例。如下所,

查看数据库视图所包含的数据类型:SELECT * FROM DBA_TYPES WHERE OWNER IS NULL.具体细节情况参见Oracle® Database SQL Language Quick Reference 10/11g 或官方文档

ORACLE内部函数篇

——通过知识共享树立个人品牌。

 

 

  1. 如何得到字符串的第一个字符的ASCII值?
    ASCII(CHAR)
    SELECT ASCII('ABCDE') FROM DUAL;
    结果: 65

  2. 如何得到数值N指定的字符?
    CHR(N)
    SELECT CHR(68) FROM DUAL;
    结果: D

  3. 如何连接两个字符串?
    CONCAT(CHAR1,CHAR2)
    SELECT CONCAT('ABC','DEFGH') FROM DUAL;
    结果: 'ABCDEFGH'

  4. 如何将列中的数值代替为字符串?
    DECODE(CHAR,N1,CHAR1,N2,CHAR2...)
    SELECT DECODE(DAY,1,'SUN',2,'MON') FROM DUAL;

  5. INITCAP(CHAR)
    将字符串CHAR的第一个字符为大写,其余为小写.
    SELECT INITCAP('ABCDE') FROM DUAL;

  6. LENGTH(CHAR)
    取一字符串CHAR的长度.
    SELECT LENGTH('ABCDE') FROM DUAL;

  7. LOWER(CHAR)
    将字符串CHAR全部变为小写.
    SELECT LOWER('ABCDE') FROM DUAL;

  8. LPAD(CHAR1,N,CHAR2)
    用字符串CHAR2包括的字符左填CHAR1,使其长度为N.
    SELECT LPAD('ABCDEFG',10'123') FROM DUAL;
    结果: '123ABCDEFG'

  9. LTRIM(CHAR,SET)
    从字符串CHAR的左边移去字符串SET中的字符,直到第一个不是SET中的字符为止.
    SELECT ('CDEFG','CD') FROM DUAL;
    结果: 'EFG'

  10. NLS_INITCAP(CHAR)
    取字符CHAR的第一个字符大写,其余字符为小写.
    SELECT NLS_INITCAP('ABCDE') FROM DUAL;

  11. NLS_LOWER(CHAR)
    将字符串CHAR包括的字符全部小写.
    SELECT NLS_LOWER('AAAA') FROM DUAL;

  12. NLS_UPPER(CHAR)
    将字符串CHAR包括的字符全部大写.
    SELECT NLS_UPPER('AAAA') FROM DUAL;

  13. REPLACE(CHAR1,CHAR2,CHAR3)
    用字符串CHAR3代替每一个列值为CHAR2的列,其结果放在CHAR1中.
    SELECT REPLACE(EMP_NO,'123','456') FROM DUAL;

  14. RPAD(CHAR1,N,CHAR2)
    用字符串CHAR2右填字符串CHAR1,使其长度为N.
    SELECT RPAD('234',8,'0') FROM DUAL;

  15. RTRIM(CHAR,SET)
    移去字符串CHAR右边的字符串SET中的字符,直到最后一个不是SET中的字符为止.
    SELECT RTRIM('ABCDE','DE') FROM DUAL;

  16. SUBSTR(CHAR,M,N)
    得到字符串CHAR从M处开始的N个字符. 双字节字符,一个汉字为一个字符的.
    SELECT SUBSTR('ABCDE',2,3) FROM DUAL;

  17. SUBSTRB(CHAR,M,N)
    得到字符串CHAR从M处开始的N个字符. 双字节字符,一个汉字为二个字符的.
    SELECT SUBSTRB('ABCDE',2,3) FROM DUAL;

  18. TRANSLATE(CHAR1,CHAR2,CHAR3)
    将CHAR1中的CHAR2的部分用CHAR3代替.
    SELECT TRANSLATE('ABCDEFGH','DE','MN') FROM DUAL;

  19. UPPER(CHAR)
    将字符串CHAR全部为大写.

  20. ADD_MONTHS(D,N)
    将N个月增加到D日期.
    SELECT ADD_MONTHS(SYS2003-10-17,5) FROM DUAL;

  21. LAST_DAY(D)
    得到包含D日期的月份的最后的一天的日期.
    SELECT LAST_DAY(SYS2003-10-17) FROM DUAL;

  22. MONTH_BETWEEN(D1,D2)
    得到两个日期之间的月数.
    SELECT MONTH_BETWEEN(D1,D2) FROM DUAL;

  23. NEXT_DAY(D,CHAR)
    得到比日期D晚的由CHAR命名的第一个周日的日期.
    SELECT NEXT_DAY(TO_2003-10-17('2003/09/20'),'SATDAY') FROM DUAL;

  24. ROUNT(D,FMT)
    得到按指定的模式FMT舍入到的最进的日期.
    SELECT ROUNT('2003/09/20',MONTH) FROM DUAL;

  25. SYS2003-10-17
    得到当前系统的日期和时间.
    SELECT SYS2003-10-17 FROM DUAL;

  26. TO_CHAR(D,FMT)
    将日期D转换为FMT的字符串.
    SELECT TO_CHAR(SYS2003-10-17,'YYYY/MM/DD') FROM DUAL;

  27. TO_2003-10-17(CHAR,FMT)
    将字符串CHAR按FMT的格式转换为日期.
    SELECT TO_2003-10-17('2003/09/20','YYYY/MM/DD') FROM DUAL;

  28. ABS(N)
    得到N的绝对值.
    SELECT ABS(-6) FROM DUAL;

  29. CEIL(N)
    得到大于或等于N的最大整数.
    SELECT CEIL(5.6) FROM DUAL;

  30. COS(N)
    得到N的余弦值.
    SELECT COS(1) FROM DUAL;

  31. SIN(N)
    得到N的正弦值.
    SELECT SIN(1) FROM DUAL;

  32. COSH(N)
    得到N的双曲余弦值.
    SELECT COSH(1) FROM DUAL;

  33. EXP(N)
    得到N的E的N次幂.
    SELECT EXP(1) FROM DUAL;

  34. FLOOR(N)
    得到小于或等于N的最小整数.
    SELECT FLOOR(5.6) FROM DUAL;

  35. LN(N)
    得到N的自然对数.
    SELECT LN(1) FROM DUAL;

  36. LOG(M,N)
    得到以M为底N的对数.
    SELECT LOG(2,8) FROM DUAL;

  37. MOD(M,N)
    得到M除以N的余数.
    SELECT MOD(100,7) FROM DUAL;

  38. POWER(M,N)
    得到M的N幂.
    SELECT POWER(4,3) FROM DUAL;

  39. ROUND(N,M)
    将N舍入到小数点后M位.
    SELECT (78.87653,2) FROM DUAL;

  40. SIGN(N)
    当N<0时,得到-1;
    当N>0时,得到1;
    当N=0时,得到0;
    SELECT SIGN(99) FROM DUAL;

  41. SINH(N)
    得到N的双曲正弦值.
    SELECT SINH(1) FROM DUAL;

  42. SORT(N)
    得到N的平方根,N>=0
    SELECT SORT(9) FROM DUAL;

  43. TAN(N)
    得到N的正切值.
    SELECT TAN(0) FROM DUAL;

  44. TANH(N)
    得到N的双曲正切值.
    SELECT TANH(0) FROM DUAL;

  45. TRUNC(N,M)
    得到在M位截断的N的值.
    SELECT TRUNC(7.7788,2) FROM DUAL;

  46. COUNT()
    计算满足条件的记录数.
    SELECT COUNT(*) FROM TABLE1 WHERE COL1='AAA';

  47. MAX()
    对指定的列求最大值.
    SELECT MAX(COL1) FROM TABLE1;

  48. MIN()
    对指定的列求最小值.
    SELECT MIN(COL1) FROM TABLE1;

  49. AVG()
    对指定的列求平均值.
    SELECT AVG(COL1) FROM TABLE1;

  50. SUM()
    计算列的和.
    金沙棋牌app手机下载,SELECT SUM(COL1) FROM DUAL;

  51. TO_NUMBER(CHAR)
    将字符转换为数值.
    SELECT TO_NUMBER('999') FROM DUAL;

 

CREATE TABLE TEST

(ID        INT IDENTITY(1,1),

 NAME    VARCHAR(32)

)

 

INSERT INTO dbo.test

SELECT 'abc32'

 

INSERT INTO dbo.test

SELECT 'abd32'

 

INSERT INTO dbo.test

SELECT 'abe32' 

 

 

 

 

DECLARE @name  VARCHAR(32);

SET @name='ab%';

SELECT * FROM TEST WHERE NAME LIKE @name;

 

 

DECLARE @name1 CHAR(32);

SET @name1='ab%';

SELECT * FROM dbo.TEST WHERE NAME LIKE @name1;

 

ORACLE内部函数篇

 ORACLE**常见问题是我收集完成,在此共享出来,一为自己以后好做个参考,二为需要的朋友提供帮助。同时,感谢提供这些相关问题及解决方法的朋友。**

 

一 字符串类型

  1. CHARTOROWID(CHAR)
    将包含外部语法ROWID的CHAR或VARCHAR2数值转换为内部的二进制语法,参数CHAR必须是包含外部语法的ROWID的18字符的字符串.
    SELECT NAME FROM BSEMPMS WHERE ROWID=CHARTOROWID('AAAAfZAABAAACp8AAO');
    NAME : LEIXUE

  2. CONVERT(CHAR,DEST_CHAR_SET,SOURCE_CHAR_SET)
    CONVERT将字符串CHAR中的字符从SOURCE_CHAR_SET标识的字符集转换为由DEST_CHAR_SET标识的字符集

欢迎大家补充,交流与分享才能共同进步嘛,感谢!

 

    字符串数据类型还可以依据存储空间分为固定长度类型(CHAR/NCHAR) 和可变长度类型(VARCHAR2/NVARCHAR2)两种.

SELECT CONVERT('GroB','US7ASCII','WE8HP') 'CONVERSION' FROM PUBS;
CONVERSION: Gross

      

金沙棋牌app手机下载 1

    所谓固定长度:是指虽然输入的字段值小于该字段的限制长度,但是实际存储数据时,会先自动向右补足空格后,才将字段值的内容存储到数据块中。这种方式虽然比较浪费空间,但是存储效率较可变长度类型要好。同时还能减少数据行迁移情况发生。

  1. HEXTORAW(CHAR)
    将包含十六进制的CHAR转换为一个RAW数值.
    INSERT INTO BSEMPMS(RAW_COLUMN) SELECT HEXTORAW('7D') FROM TEST;

  2. RAWTOHEX(RAW)
    将RAW数值转换为一个包含十六进制的CHAR值.
    SELECT RAWTOHEX(RAW_COLUMN) 'CONVERSION' FROM BSEMPMS;
    CONVERSION: 7D

  3. ROWIDTOCHAR(ROWID)
    将一个ROWID数值转换为VARCHAR2数据类型.
    SELECT ROWID FROM BSEMPMS WHERE ROWIDTOCHAR(ROWID) LIKE '%BR1AAB%';

  4. TO_MULTI_BYTE(CHAR)
    将CHAR中的单字节转换为等价的多字节字符.
    SELECT TO_MULTI_BYTE('ASFDFD') FROM TEST;

  5. TO_SINGLE_BYTE(CHAR)
    将CHAR中的多字节转换为等价的单字节字符.
    SELECT TO_SINGLE_BYTE('ASFDFD') FROM TEST;

  6. 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;

  7. DUMP(EXPR,RETURN_FORMAT,START_POSITION,LENGTH)
    返回一个包含数据类型代码,字节长度等内部表示信息的VARCHAR2值.返回结果是当前数据库字符集,数据类型按照下面规定的内部数据类型的编码作为一个数字进行返回:
    代码 数据类型
    0 VARCHAR2
    1 NUMBER
    8 LONG
    12 2003-10-17
    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';

  8. empty_b|clob()
    返回一个空的LOB定位符,用在初始化LOB变量,或用在INSERT及UP2003-10-17声明去初始化LOB列或将其属性置为空.
    INSERT INTO TABLE1 VALUES(EMPTY_BLOB());
    UP2003-10-17 TABLE1 SET CLOB_COL=EMPTY_BLOB();

  9. BFILENAME('DIRECTORY','FILENAME')
    返回一个BFILE定位符,相关的二进制LOB物理文件在服务器的文件系统上.目录DIRECTORY是指在服务器的文件系统上实际搜索路径全名的别名. FILENAME是指服务器的文件系统的文件名.
    INSERT INTO FILE_TAB VALUES(BFILENAME('LOB_DIR','IMAGE1.GIF'));

  10. GREATEST(EXPR,EXPR,...)
    GREATEST返回参数的最大值.
    SELECT GREATEST('HARRY','HARRIOT','HAROLD') 'SAMPLE' FROM TABLE1;

  11. LEAST(EXPR,EXPR,...)
    LEAST返回参数的最小值.
    SELECT LEAST('HARRY','HARRIOT','HAROLD') 'SAMPLE' FROM TABLE1;

  12. NLS_CHARSET_DECL_LEN(BYTECNT,CSID)
    返回一个NCHAR列的宽度.
    SELECT NLS_CHARSET_DECL_LEN(200,NLS_CHARSET_ID('JA16EEFDFDF')) FROM TABLE1;

  13. NLS_CHARSET_ID(TEXT)
    返回相应于NLS字符集名字的NLS字符集ID数.
    SELECT NLS_CHARSET_D('JADFDFFDF') FROM TABLE1;

  14. NLS_CHARSET_NAME(N)
    返回相应于ID数N的NLS字符集名称.
    SELECT NLS_CHARSET_NAME(2) FROM TABLE1;

  15. NVL(EXPR1,EXPR2)
    若EXPR1是NULL,则返回EXPR2,否则返回EXPR1.
    SELECT NAME,NVL(TO_CHAR(COMM),'NOT APPLICATION') FROM TABLE1;

  16. UID
    返回唯一标识当前数据库用户的整数.
    SELECT UID FROM TABLE1;

  17. USER
    用VARCHAR2数据类型返回当前ORACLE用户的名称.
    SELECT USER,UID FROM TABLE1;

  18. USERENV(OPTION)
    返回当前的会话信息.
    OPTION='ISDBA'若当前是DBA角色,则为TRUE,否则FALSE.
    OPTION='LANGUAGE'返回数据库的字符集.
    OPTION='SESSIONID'为当前会话标识符.
    OPTION='ENTRYID'返回可审计的会话标识符.
    OPTION='LANG'返回会话语言名称的ISO简记.
    OPTION='INSTANCE'返回当前的实例.
    SELECT USERENV('LANGUAGE') FROM DUAL;

  19. VSIZE(EXPR)
    返回EXPR内部表示的字节数.
    SELECT NAME,VSIZE(NAME) FROM TABLE1;

  20. DEREF(E)
    返回参数E的对象引用.
    SELECT DEREF(C2) FROM TABLE1;

  21. REFTOHEX(R)
    将参数R转换为16进制.
    SELECT REFTOHEX(C2) FROM TABLE1;

  22. 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;

  23. STDDEV(DISTINCT|ALL X)
    STDDEV给出一组行值的标准差.
    SELECT STDDEV(SALARY) AS EXAMPLE FROM EMPLOYEE;

  24. VARIANCE(DISTINCT|ALL X)
    VARIANCE返回一组行中所有VALUE的方差.
    SELECT VARIANCE(SALARY) AS EXAMPLE FROM EMPLOYEE;


 

所谓可变长度:是指当输入的字段值小于该字段的限制长度时,直接将字段值的内容存储到数据块中,而不会补上空白,这样可以节省数据块空间。

9I管理的V$视图。

 

 

1.1:CHAR类型 CHAR(size [BYTE | CHAR])

  1. V$ACCESS

 

如上截图所示,当变量使用VARCHAR类型与CHAR类型时,两种的输出结果完全不一样。如果对SQL SERVER数据类型了解不透彻的话,估计真的对这个问题感到相当困惑。但是对SQL Server数据类型了解比较深入的人来说,这真的是一个简单到不能再简单的问题。

CHAR类型,定长字符串,会用空格填充来达到其最大长度。非NULL的CHAR(12)总是包含12字节信息。CHAR字段最多可以存储2,000字节的信息。如果创建表时,不指定CHAR长度,则默认为1。另外你可以指定它存储字节或字符,例如 CHAR(12 BYTYE) CHAR(12 CHAR).一般来说默认是存储字节,你可以查看数据库参数

显示当前被锁定的数据库中的对象及正在访问他们的会话.

  1. /*+NOCACHE(TABLE)*/
    当进行全表扫描时,CACHE提示能够将表的检索块放置在缓冲区缓存中最近最少列表LRU的最近使用端
    例如: 

 

NLS_LENGTH_SEMANTICS的值。

  1. V$ACTIVE_INSTANCES

SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

如下所示,我们在SQL语句中加入两句SQL,用DATALENGTH返回任何表达式的字节数,你会发现VARCHAR类型的变量返回的字节数为3,但是CHAR类型的变量的字节数为32,其实原因就在于CHAR类型是定长的,也就是当你输入的字符小于你指定的数目时,例如char(32),你输入的字符小于32时,它会在后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符. 所以下面两种LIKE的逻辑意义不一样。LIKE 'ab%'  与 LIKE 'abc%       '的逻辑完全不同。

SQL Code

为当前安装的数据库中出现的所有实例建立从实例名到实例号的映射.

  1. /*+APPEND*/
    直接插入到表的最后,可以提高速度。 

 

  1. SQL> show parameter nls_length_semantics;
  2.  
  3. NAME                   TYPE           VALUE
  4. ------------------   -----------

  5.  
  6. nls_length_semantics   string          BYTE
  7.  
  8. eg:
  9.  
  10. CREATE TABLE TEST
  11.  
  12. (
  13.  
  14. NAME_OLD CHAR(10),
  15.  
  16. NAME_NEW CHAR(10 CHAR)
  17.  
  18. )
  19.  
  20. INSERT INTO TEST
  21.  
  22. ( NAME_OLD, NAME_NEW)
  23.  
  24. SELECT 'ABCDEFGHIJ' , '你清除字节与字符' FROM DUAL;
  25.  
  26. COMMIT;
  27.  
  28. INSERT INTO TEST
  29.  
  30. ( NAME_OLD, NAME_NEW)
  31.  
  32. SELECT '你清除字节与字符' , 'ABCDEFGHIJ' FROM DUAL;
  33.  
  34. ORA-12899: 列 "SYS"."TEST"."NAME_OLD" 的值太大 (实际值: 24, 最大值: 10) 
  1. V$ACTIVE_SESS_POOL_MTH

insert /*+append*/ into test1 select * from test4;

 

注意:数据库的NLS_CHARACTERSET 为AL32UTF8,即一个汉字占用三到四个字节。如果NLS_CHARACTERSET为ZHS16GBK,则一个字符占用两个字节。

所有活动的会话池资源分配方法.

  1. /*+NOAPPEND*/
    通过在插入语句生存期内停止并行模式来启动常规插入。 

金沙棋牌app手机下载 2

如果串的长度小于或等于250(0x01~0xFA), Oracle 会使用1 个字节来表示长度。对于所有长度超过250 的串,都会在一个标志字节0xFE 后跟有两个字节来表示长度。因此,如果有一个包含“Hello World”的VARCHAR2(80),则在块中可能如图12.-1 所示

  1. V$AQ

insert /*+noappend*/ into test1 select * from test4;

 

金沙棋牌app手机下载 3

当前数据库中的队列的统计量.

ORACLE内部函数

 

1.2: NCHAR类型

  1. V$ARCHIVE

204.

其实你想从侧面印证一下也很简单,如下脚本对比所示,仔细理解一下,也许你就想明白了!

这是一个包含UNICODE格式数据的定长字符串。NCHAR字段最多可以存储2,000字节的信息。它的最大长度取决于国家字符集。另外查询时,如果字段是NCHAR类型,则需要如下书写

归档所需的重做日志文件中的信息.

如何得到字符串的第一个字符的ASCII值?
ASCII(CHAR)

 

SELECT translated_description FROM product_descriptions

  1. V$ARCHIVE_DEST

SELECT ASCII('ABCDE') FROM DUAL; 
--结果: 65 

 

WHERE translated_name = N'LCD Monitor 11/PM';

当前实例的所有归档日志目的文件及它们的当前值,模式,状态.

  1. 如何得到数值N指定的字符?
    CHR(N)

DECLARE @name  CHAR(32);

1.3 VARCHAR类型

  1. V$ARCHIVE_PROCESSES

SELECT CHR(68) FROM DUAL;
--结果: D 

SET @name='ab%';

不要使用VARCHAR数据类型。使用VARCHAR2数据类型。虽然VARCHAR数据类型目前是VARCHAR2的同义词,VARCHAR数据类型将计划被重新定义为一个单独的数据类型用于可变长度的字符串相比,具有不同的比较语义。

为一个实例提供不同的ARCH进程状态的信息.

 

SELECT * FROM TEST WHERE NAME LIKE @name;

1.4: VARCHAR2类型

  1. V$ARCHIVE_LOG
  1. 如何连接两个字符串?
    CONCAT(CHAR1,CHAR2) 

 

变长字符串,与CHAR类型不同,它不会使用空格填充至最大长度。VARCHAR2最多可以存储4,000字节的信息。

控制文件中的归档日志信息.

SELECT CONCAT('ABC','DEFGH') FROM DUAL; 
--结果: 'ABCDEFGH'

 

1.5: NVARCHAR2类型

  1. V$BACKUP
  1. 如何将列中的数值代替为字符串?
    DECODE(CHAR,N1,CHAR1,N2,CHAR2...)

DECLARE @name1 CHAR(3);

这是一个包含UNICODE格式数据的变长字符串。 NVARCHAR2最多可以存储4,000字节的信息。

所有联机数据文件的备份状态.

SELECT DECODE(DAY,1,'SUN',2,'MON') FROM DUAL;

SET @name1='ab%';

 

  1. V$BACKUP_ASYNC_IO

 

SELECT * FROM dbo.TEST WHERE NAME LIKE @name1;

 

从控制文件中显示备份集的信息.

  1. INITCAP(CHAR)
    将字符串CHAR的第一个字符为大写,其余为小写。

 

二. 数字类型

  1. V$BACKUP_CORRUPTION

SELECT INITCAP('ABCDE') FROM DUAL;

 

 

从控制文件中显示数据文件备份中有关损坏的信息.

 

金沙棋牌app手机下载 4

2.1 NUMBER类型

  1. V$BACKUP_DATAFILE
  1. LENGTH(CHAR)
    取一字符串CHAR的长度。

NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10^130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间。

从控制文件中显示备份数据文件和备份控制文件的信息.

SELECT LENGTH('ABCDE') FROM DUAL;

P 是Precison的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38个有效数字

  1. V$BACKUP_DEVICE
  1. LOWER(CHAR)
    将字符串CHAR全部变为小写。

S是Scale的英文缩写,可以使用的范围为-84~127。Scale为正数时,表示从小数点到最低有效数字的位数,它为负数时,表示从最大有效数字到小数点的位数

显示关于支持备份设备的信息.

SELECT LOWER('ABCDE') FROM DUAL;

下面是官方文档的示例

  1. V$BACKUP_PIECE
  1. LPAD(CHAR1,N,CHAR2)
    用字符串CHAR2包括的字符左填CHAR1,使其长度为N。

Actual Data

Specified As

Stored As

123.89

NUMBER

123.89

123.89

NUMBER(3)

124

123.89

NUMBER(6,2)

123.89

123.89

NUMBER(6,1)

123.9

123.89

NUMBER(3)

124

123.89

NUMBER(4,2)

exceeds precision

123.89

NUMBER(6,-2)

100

.01234

NUMBER(4,5)

.01234

.00012

NUMBER(4,5)

.00012

.000127

NUMBER(4,5)

.00013

.0000012

NUMBER(2,7)

.0000012

.00000123

NUMBER(2,7)

.0000012

1.2e-4

NUMBER(2,5)

0.00012

1.2e-5

NUMBER(2,5)

0.00001

从控制文件中显示备份块的信息.

SELECT LPAD('ABCDEFG',10'123') FROM DUAL; 
--结果: '123ABCDEFG' 

2.2 INTEGER类型

  1. V$BACKUP_REDOLOG

 

INTEGER是NUMBER的子类型,它等同于NUMBER(38,0),用来存储整数。若插入、更新的数值有小数,则会被四舍五入。

从控制文件中显示关于备份集中归档日志的信息.

  1. LTRIM(CHAR,SET)
    从字符串CHAR的左边移去字符串SET中的字符,直到第一个不是SET中的字符为止。

例如:

  1. V$BACKUP_SET

SELECT ('CDEFG','CD') FROM DUAL; 
--结果: 'EFG' 

CREATE TABLE TEST

从控制文件中显示备份集的信息.

 

(

  1. V$BACKUP_SYNC_IO
  1. NLS_INITCAP(CHAR)
    取字符CHAR的第一个字符大写,其余字符为小写。 

ID INTEGER

从控制文件中显示备份集的信息.

SELECT NLS_INITCAP('ABCDE') FROM DUAL;

)

  1. V$BGPROCESS
  1. NLS_LOWER(CHAR)
    将字符串CHAR包括的字符全部小写。 

查看表TEST的DDL(如何查看创建表的DDL语句)定义如下所示

描述后台进程.

SELECT NLS_LOWER('AAAA') FROM DUAL;

CREATE TABLE "SYS"."TEST"

  1. V$BH
  1. NLS_UPPER(CHAR)
    将字符串CHAR包括的字符全部大写。

( "ID" NUMBER(*,0)

是9I的实时应用集群视图.为系统全局区中的每一个缓冲区给出了状态和探查次数.

SELECT NLS_UPPER('AAAA') FROM DUAL;

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

  1. V$BSP

 

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

显示用在缓存中块服务器后台进程上的统计信息.

  1. REPLACE(CHAR1,CHAR2,CHAR3)
    用字符串CHAR3代替每一个列值为CHAR2的列,其结果放在CHAR1中。

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

SELECT REPLACE(EMP_NO,'123','456') FROM DUAL;

TABLESPACE "SYSTEM" ;

 

INSERT INTO TEST

  1. RPAD(CHAR1,N,CHAR2)
    用字符串CHAR2右填字符串CHAR1,使其长度为N。

SELECT 12.34 FROM DUAL;

SELECT RPAD('234',8,'0') FROM DUAL;

INSERT INTO TEST

  1. RTRIM(CHAR,SET)
    移去字符串CHAR右边的字符串SET中的字符,直到最后一个不是SET中的字符为止。

SELECT 12.56 FROM DUAL;

SELECT RTRIM('ABCDE','DE') FROM DUAL;

SQL> SELECT * FROM TEST;

  1. SUBSTR(CHAR,M,N)
    得到字符串CHAR从M处开始的N个字符. 双字节字符,一个汉字为一个字符的。 

ID

SELECT SUBSTR('ABCDE',2,3) FROM DUAL;


  1. SUBSTRB(CHAR,M,N)
    得到字符串CHAR从M处开始的N个字符. 双字节字符,一个汉字为二个字符的。 

12

SELECT SUBSTRB('ABCDE',2,3) FROM DUAL;

13

  1. TRANSLATE(CHAR1,CHAR2,CHAR3)
    将CHAR1中的CHAR2的部分用CHAR3代替。

2.3 浮点数

SELECT TRANSLATE('ABCDEFGH','DE','MN') FROM DUAL;

浮点数可以有一个十进制数点任何地方从第一个到最后一个数字,或者可以在所有有没有小数点。指数可能(可选) 用于以下数量增加的范围 (例如, 1.777e-20)。刻度值不适用于浮点数字,因为可以显示在小数点后的位数的数量不受限制。

  1. UPPER(CHAR)
    将字符串CHAR全部为大写。

二进制浮点数不同数量的值由 Oracle 数据库内部存储的方式。使用小数精度数存储值。完全相同号码存储范围和数量由支持的精度内的所有文本。正是因为使用小数精度(数字 0 到 9) 表示文本存储文本。使用二进制精度 (数字 0 和 1) 存储二进制浮点数。这种存储方案不能代表所有确切地使用小数精度的值。频繁地,将值从十进制转换为二进制的精度时出现的错误时撤消值回从二进制转换为十进制精度。在字面 0.1 是一个这样的例子。

  1. ADD_MONTHS(D,N)
    将N个月增加到D日期。

Oracle 数据库提供了专为浮点数的两种数值数据类型:

SELECT ADD_MONTHS(SYSDATE,5) FROM DUAL;

BINARY_FLOAT

  1. LAST_DAY(D)
    得到包含D日期的月份的最后的一天的日期。

BINARY_FLOAT 是 32 位、 单精度浮点数字数据类型。可以支持至少6位精度,每个 BINARY_FLOAT 的值需要 5 个字节,包括长度字节。

SELECT LAST_DAY(SYSDATE) FROM DUAL;

BINARY_DOUBLE

  1. MONTH_BETWEEN(D1,D2)
    得到两个日期之间的月数。

BINARY_DOUBLE 是为 64 位,双精度浮点数字数据类型。每个 BINARY_DOUBLE 的值需要 9 个字节,包括长度字节。

SELECT MONTH_BETWEEN(D1,D2) FROM DUAL;

在数字的列中,浮点数有小数精度。在 BINARY_FLOAT 或 BINARY_DOUBLE 的列中,浮点数有二进制的精度。二进制浮点数支持的特殊值无穷大和 NaN (不是数字)。

 

您可以指定列在表 2-4 范围内的浮点数。"数字文本"中定义了用于指定浮点数的格式。

  1. NEXT_DAY(D,CHAR)
    得到比日期D晚的由CHAR命名的第一个周日的日期。 

Table 2-3 Floating Point Number Limits

SELECT NEXT_DAY(TO_DATE('2003/09/20'),'SATDAY') FROM DUAL;

Value

Binary-Float

Binary-Double

Maximum positive finite value

3.40282E+38F

1.79769313486231E+308

Minimum positive finite value

1.17549E-38F

2.22507485850720E-308

  1. ROUNT(D,FMT)
    得到按指定的模式FMT舍入到的最进的日期。 

2.5 FLOAT类型

SELECT ROUNT('2003/09/20',MONTH) FROM DUAL;

FLOAT类型也是NUMBER的子类型。

  1. SYSDATE
    得到当前系统的日期和时间。

Float(n),数 n 指示位的精度,可以存储的值的数目。N 值的范围可以从 1 到 126。若要从二进制转换为十进制的精度,请将 n 乘以 0.30103。要从十进制转换为二进制的精度,请用 3.32193 乘小数精度。126 位二进制精度的最大值是大约相当于 38 位小数精度。

SELECT SYSDATE FROM DUAL;

 

 

三. 日期类型

  1. TO_CHAR(D,FMT)
    将日期D转换为FMT的字符串。

日期类型用于存储日期数据,但是并不是使用一般的格式(2012-08-08)直接存储到数据库的。

SELECT TO_CHAR(SYSDATE,'YYYY/MM/DD') FROM DUAL;

3.1 DATE类型

 

DATE是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数字类型表示日期和时间信息,但是日期数据类型具有特殊关联的属性。为每个日期值,Oracle 存储以下信息: 世纪、 年、 月、 日期、 小时、 分钟和秒。一般占用7个字节的存储空间。

  1. TO_DATE(CHAR,FMT)
    将字符串CHAR按FMT的格式转换为日期。

3.2 TIMESTAMP类型

SELECT TO_DATE('2003/09/20','YYYY/MM/DD') FROM DUAL;

这是一个7字节或12字节的定宽日期/时间数据类型。它与DATE数据类型不同,因为TIMESTAMP可以包含小数秒,带小数秒的TIMESTAMP在小数点右边最多可以保留9位

  1. ABS(N)
    得到N的绝对值。

3.3 TIMESTAMP WITH TIME ZONE类型

SELECT ABS(-6) FROM DUAL;

这是TIMESTAMP类型的变种,它包含了时区偏移量的值

 

3.4 TIMESTAMP WITH LOCAL TIME ZONE类型

  1. CEIL(N)
    得到大于或等于N的最大整数。

3.5 INTERVAL YEAR TO MOTH

SELECT CEIL(5.6) FROM DUAL; 

3.6 INTERVAL DAY TO SECOND

 

 

  1. COS(N)
    得到N的余弦值。

四. LOB类型

SELECT COS(1) FROM DUAL; 

内置的LOB数据类型包括BLOB、CLOB、NCLOB、BFILE(外部存储)的大型化和非结构化数据,如文本、图像、视屏、空间数据存储。BLOB、CLOB、NCLOB类型

 

 

  1. SIN(N)
    得到N的正弦值。
    SELECT SIN(1) FROM DUAL;

4.1 CLOB 数据类型

 

   它存储单字节和多字节字符数据。支持固定宽度和可变宽度的字符集。CLOB对象可以存储最多 (4 gigabytes-1) * (database block size) 大小的字符

  1. COSH(N)
    得到N的双曲余弦值。
    SELECT COSH(1) FROM DUAL;

4.2 NCLOB 数据类型

 

   它存储UNICODE类型的数据,支持固定宽度和可变宽度的字符集,NCLOB对象可以存储最多(4 gigabytes-1) * (database block size)大小的文本数据。

  1. EXP(N)
    得到N的E的N次幂。
    SELECT EXP(1) FROM DUAL;

4.3 BLOB 数据类型

  1. FLOOR(N)
    得到小于或等于N的最小整数。
    SELECT FLOOR(5.6) FROM DUAL;

   它存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般是图像、声音、视频等文件。BLOB对象最多存储(4 gigabytes-1) * (database block size)的二进制数据。

 

4.4 BFILE 数据类型

  1. LN(N)
    得到N的自然对数。
    SELECT LN(1) FROM DUAL;

   二进制文件,存储在数据库外的系统文件,只读的,数据库会将该文件当二进制文件处理

  1. LOG(M

五. RAW & LONG RAW类型

,N)
得到以M为底N的对数。
SELECT LOG(2,8) FROM DUAL;

 

  1. MOD(M,N)
    得到M除以N的余数。
    SELECT MOD(100,7) FROM DUAL;

5.1 LONG类型

  1. POWER(M,N)
    得到M的N幂。
    SELECT POWER(4,3) FROM DUAL;

 

 

它存储变长字符串,最多达2G的字符数据(2GB是指2千兆字节, 而不是2千兆字符),与VARCHAR2 或CHAR 类型一样,存储在LONG 类型中的文本要进行字符集转换。ORACLE建议开发中使用CLOB替代LONG类型。支持LONG 列只是为了保证向后兼容性。CLOB类型比LONG类型的限制要少得多。 LONG类型的限制如下:

  1. ROUND(N,M)
    将N舍入到小数点后M位。
    SELECT (78.87653,2) FROM DUAL;

1.一个表中只有一列可以为LONG型。(Why?有些不明白)

 

2.LONG列不能定义为主键或唯一约束,

  1. SIGN(N)
    当N<0时,得到-1;
    当N>0时,得到1;
    当N=0时,得到0;
    SELECT SIGN(99) FROM DUAL;

3.不能建立索引

  1. SINH(N)
    得到N的双曲正弦值。
    SELECT SINH(1) FROM DUAL;

4.LONG数据不能指定正则表达式。

  1. SORT(N)

5.函数或存储过程不能接受LONG数据类型的参数。

得到N的平方根,N>=0
SELECT SORT(9) FROM DUAL;

6.LONG列不能出现在WHERE子句或完整性约束(除了可能会出现NULL和NOT NULL约束)

 

官方文档描叙如下:

  1. TAN(N)
    得到N的正切值。
    SELECT TAN(0) FROM DUAL;

The use of LONG values is subject to these restrictions:

  1. TANH(N)
    得到N的双曲正切值。
    SELECT TANH(0) FROM DUAL;

A table can contain only one LONG column.

  1. TRUNC(N

You cannot create an object type with a LONG attribute.

,M)
得到在M位截断的N的值。
SELECT TRUNC(7.7788,2) FROM DUAL;

LONG columns cannot appear in WHERE clauses or in integrity constraints (except that they can appear in NULL and NOT NULL constraints).

  1. COUNT()
    计算满足条件的记录数。
    SELECT COUNT(*) FROM TABLE1 WHERE COL1='AAA';

LONG columns cannot be indexed.

  1. MAX()

LONG data cannot be specified in regular expressions.

对指定的列求最大值。
SELECT MAX(COL1) FROM TABLE1;

A stored function cannot return a LONG value.

  1. MIN()

You can declare a variable or argument of a PL/SQL program unit using the LONG datatype. However, you cannot then call the program unit from SQL.

对指定的列求最小值。
SELECT MIN(COL1) FROM TABLE1;

Within a single SQL statement, all LONG columns, updated tables, and locked tables must be located on the same database.

  1. AVG()

LONG and LONG RAW columns cannot be used in distributed SQL statements and cannot be replicated.

对指定的列求平均值。
SELECT AVG(COL1) FROM TABLE1;

If a table has both LONG and LOB columns, then you cannot bind more than 4000 bytes of data to both the LONG and LOB columns in the same SQL statement. However, you can bind more than 4000 bytes of data to either the LONG or the LOB column.

  1. SUM()
    计算列的和。
    SELECT SUM(COL1) FROM DUAL;

In addition, LONG columns cannot appear in these parts of SQL statements:

  1. TO_NUMBER(CHAR)
    将字符转换为数值。
    SELECT TO_NUMBER('999') FROM DUAL;

GROUP BY clauses, ORDER BY clauses, or CONNECT BY clauses or with the DISTINCT operator in SELECT statements

 

The UNIQUE operator of a SELECT statement

  1. CHARTOROWID(CHAR)
    将包含外部语法ROWID的CHAR或VARCHAR2数值转换为内部的二进制语法,参数CHAR必须是包含外部语法的ROWID

The column list of a CREATE CLUSTER statement

的18字符的字符串。

The CLUSTER clause of a CREATE MATERIALIZED VIEW statement

SELECT NAME FROM BSEMPMS WHERE ROWID=CHARTOROWID('AAAAfZAABAAACp8AAO'); 
--NAME : LEIXUE 

SQL built-in functions, expressions, or conditions

  1. CONVERT(CHAR,DEST_CHAR_SET,SOURCE_CHAR_SET)
    CONVERT将字符串CHAR中的字符从SOURCE_CHAR_SET标识的字符集转换为由DEST_CHAR_SET标识的字符集

SELECT lists of queries containing GROUP BY clauses

SELECT CONVERT('GroB','US7ASCII','WE8HP') 'CONVERSION' FROM PUBS; 
--CONVERSION: Gross 

SELECT lists of subqueries or queries combined by the UNION, INTERSECT, or MINUS set operators

 

SELECT lists of CREATE TABLE ... AS SELECT statements

  1. HEXTORAW(CHAR)
    将包含十六进制的CHAR转换为一个RAW数值。
    INSERT INTO BSEMPMS(RAW_COLUMN) SELECT HEXTORAW('7D') FROM TEST;

ALTER TABLE ... MOVE statements

  1. RAWTOHEX(RAW)

SELECT lists in subqueries in INSERT statements

将RAW数值转换为一个包含十六进制的CHAR值。

5.2 LONG RAW 类型,能存储2GB 的原始二进制数据(不用进行字符集转换的数据)

SELECT RAWTOHEX(RAW_COLUMN) 'CONVERSION' FROM BSEMPMS; 
--CONVERSION: 7D 

5.3 RAW类型

 

用于存储二进制或字符类型数据,变长二进制数据类型,这说明采用这种数据类型存储的数据不会发生字符集转换。这种类型最多可以存储2,000字节的信息

  1. ROWIDTOCHAR(ROWID)
    将一个ROWID数值转换为VARCHAR2数据类型。
    SELECT ROWID FROM BSEMPMS WHERE ROWIDTOCHAR(ROWID) LIKE '%BR1AAB%';

 

  1. TO_MULTI_BYTE(CHAR)

六. ROWID & UROWID类型

将CHAR中的单字节转换为等价的多字节字符。
SELECT TO_MULTI_BYTE('ASFDFD') FROM TEST;

在数据库中的每一行都有一个地址。然而,一些表行的地址不是物理或永久的,或者不是ORACLE数据库生成的。

  1. TO_SINGLE_BYTE(CHAR)

例如,索引组织表行地址存储在索引的叶子,可以移动。

将CHAR中的多字节转换为等价的单字节字符。
SELECT TO_SINGLE_BYTE('ASFDFD') FROM TEST;

例如,外部表的ROWID(如通过网关访问DB2表)不是​​标准的ORACLE的rowid。

 

ORACLE使用通用的ROWID(UROWIDs)的存储地址的索引组织表和外表。索引组织表有逻辑urowids的,和国外表的外urowids,。UROWID这两种类型的存储在ROWID伪(堆组织的表的物理行id)。

  1. TRANSLATE USING(TEXT USING {CHAR_CS|NCHAR_CS})
    将文本TEXT按照指定的转换方式转换成数据库字符集和民族字符集。
    其中TEXT是待转换的。
    USING CHAR_CS参数转换TEXT为数据库字符集,输出数据类型是VARCHAR2。
    USING NCHAR_CS参数转换TEXT为数据库字符集,输出数据类型是NVARCHAR2。

创建基于逻辑的rowid在表中的主键。逻辑的rowid不会改变,只要主键不改变。索引组织表的ROWID伪UROWID数据类型。你可以访问这个伪列,你会堆组织表的ROWID伪(即使用一个SELECT ...ROWID语句)。如果你想存储的rowid索引组织表,那么你就可以定义一列的表型UROWID到列检索值的ROWID伪。

CREATE TABLE TEST(CHAR_COL CHAR(20),NCHAR_COL NCHAR(20)); 
INSERT INTO TEST VALUES('HI,N'BYE'); 
SELECT * FROM TEST; 

 

  1. 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';

如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨小小打赏一下吧,如果囊中羞涩,不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!

 

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.

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

 

INSERT INTO TABLE1 VALUES(EMPTY_BLOB()); 
UPDATE TABLE1 SET CLOB_COL=EMPTY_BLOB(); 

  1. BFILENAME('DIRECTORY','FILENAME')
    返回一个BFILE定位符,相关的二进制LOB物理文件在服务器的文件系统上.目录DIRECTORY是指在服务器的文件

系统上实际搜索路径全名的别名. FILENAME是指服务器的文件系统的文件名。

 

INSERT INTO FILE_TAB VALUES(BFILENAME('LOB_DIR','IMAGE1.GIF')); 

 

  1. GREATEST(EXPR,EXPR,...)
    GREATEST返回参数的最大值。 

SELECT GREATEST('HARRY','HARRIOT','HAROLD') 'SAMPLE' FROM TABLE1;

 

  1. LEAST(EXPR,EXPR,...)
    LEAST返回参数的最小值。 

 

SELECT LEAST('HARRY','HARRIOT','HAROLD') 'SAMPLE' FROM TABLE1;

  1. NLS_CHARSET_DECL_LEN(BYTECNT

,CSID)
返回一个NCHAR列的宽度。 

SELECT NLS_CHARSET_DECL_LEN(200,NLS_CHARSET_ID('JA16EEFDFDF')) FROM TABLE1;

 

  1. NLS_CHARSET_ID(TEXT)
    返回相应于NLS字符集名字的NLS字符集ID数。 

SELECT NLS_CHARSET_D('JADFDFFDF') FROM TABLE1;

 

  1. NLS_CHARSET_NAME(N)

返回相应于ID数N的NLS字符集名称。 

SELECT NLS_CHARSET_NAME(2) FROM TABLE1;

  1. NVL(EXPR1

,EXPR2)
若EXPR1是NULL,则返回EXPR2,否则返回EXPR1。

 

SELECT NAME,NVL(TO_CHAR(COMM),'NOT APPLICATION') FROM TABLE1; 

  1. UID

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

SELECT UID FROM TABLE1;

  1. USER

用VARCHAR2数据类型返回当前ORACLE用户的名称。 

SELECT USER,UID FROM TABLE1;

 

  1. USERENV(OPTION)
    返回当前的会话信息。
    OPTION='ISDBA'若当前是DBA角色,则为TRUE,否则FALSE。
    OPTION='LANGUAGE'返回数据库的字符集。
    OPTION='SESSIONID'为当前会话标识符。
    OPTION='ENTRYID'返回可审计的会话标识符。
    OPTION='LANG'返回会话语言名称的ISO简记。
    OPTION='INSTANCE'返回当前的实例。 

SELECT USERENV('LANGUAGE') FROM DUAL;

 

  1. VSIZE(EXPR)

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

 

SELECT NAME,VSIZE(NAME) FROM TABLE1; 

  1. DEREF(E)

返回参数E的对象引用。

 

SELECT DEREF(C2) FROM TABLE1;

 

  1. REFTOHEX(R)
    将参数R转换为16进制。

 

SELECT REFTOHEX(C2) FROM TABLE1;

 

  1. 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, AS SELECT * FROM TB1; 
SELECT MAKE_REF(V1,1,3) FROM PUBS;

  1. STDDEV(DISTINCT|ALL X)
    STDDEV给出一组行值的标准差。

SELECT STDDEV(SALARY) AS EXAMPLE FROM EMPLOYEE; 

 

  1. VARIANCE(DISTINCT|ALL X)
    VARIANCE返回一组行中所有VALUE的方差。 

SELECT VARIANCE(SALARY) AS EXAMPLE FROM EMPLOYEE;

9I管理的V$视图

  1. V$ACCESS

显示当前被锁定的数据库中的对象及正在访问他们的会话。

 

  1. V$ACTIVE_INSTANCES
    为当前安装的数据库中出现的所有实例建立从实例名到实例号的映射。

 

  1. V$ACTIVE_SESS_POOL_MTH
    所有活动的会话池资源分配方法。

 

  1. V$AQ
    当前数据库中的队列的统计量。

 

  1. V$ARCHIVE
    归档所需的重做日志文件中的信息。
  1. V$ARCHIVE_DEST
    当前实例的所有归档日志目的文件及它们的当前值,模式,状态。

 

  1. V$ARCHIVE_PROCESSES
    为一个实例提供不同的ARCH进程状态的信息。

 

  1. V$ARCHIVE_LOG
    控制文件中的归档日志信息。
  1. V$BACKUP

所有联机数据文件的备份状态。

  1. V$BACKUP_ASYNC_IO

从控制文件中显示备份集的信息。

  1. V$BACKUP_CORRUPTION

从控制文件中显示数据文件备份中有关损坏的信息。

  1. V$BACKUP_DATAFILE

从控制文件中显示备份数据文件和备份控制文件的信息。

 

  1. V$BACKUP_DEVICE
    显示关于支持备份设备的信息。
  1. V$BACKUP_PIECE
    从控制文件中显示备份块的信息。

 

  1. V$BACKUP_REDOLOG
    从控制文件中显示关于备份集中归档日志的信息。

 

  1. V$BACKUP_SET
    从控制文件中显示备份集的信息。
  1. V$BACKUP_SYNC_IO

从控制文件中显示备份集的信息。

  1. V$BGPROCESS
    描述后台进程。
  1. V$BH

是9I的实时应用集群视图.为系统全局区中的每一个缓冲区给出了状态和探查次数。

  1. V$BSP
    显示用在缓存中块服务器后台进程上的统计信息。  

本文由金沙棋牌发布于金沙棋牌app手机下载,转载请注明出处:金沙棋牌app手机下载Oracle基本数据类型总结,O

关键词: