oracle随笔

1.数据库设计的三大范式:数据库表中的字段是单一属性,不可再分。
  数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖。
  数据库表中不存在非关键字段对任一候选关键字段的传递函数依赖。
2.SQL Server数据库使用的是Transact-SQL,oracle使用的是PL/SQL.
3.SQL的种类:数据定义语言(DDL),数据操纵语言(DML),
             数据查询语言(DQL),数据控制语言(DCL)。
4.oracle数据库中的数据类型:字符型,数字型,日期类型和其他数据类型。
  varchar2 0~4000字节      char     0~2000字节
  number(p,s) 38位十进制 float 126位二进制
  date                     timestamp
5.子查询:ANY SOME ALL IN各自用法
   ANY:表示满足子查询结果的任意一个。和<,<=搭配表示小于或者等于列表中
        的最大值。>,>=表示大于等于列表中的最小值。
   SOME和ANY一样。
   ALL:表示满足子查询结果的所有结果。和《,《=搭配,表示小于等于列表中
        的最小值,>,>=表示大于等于列表中的最大值。
6。oracle的内置函数:
   数值型函数:ABS(n)用于返回绝对值,例如ABS(100)=100,ABS(-100)=100,
               ABS('100')=100.
               MOD(n2,n1)返回n2除以n1的余数。MOD(‘10’,5)=0。
               SIGN(n)返回参数n的符号,正数返回1,0返回0,负数返回-1.
               cos(n)返回参数n的余弦
               CEIL(n)返回结果是大于等于输入参数的最小整数,例如CEIL(10)=10,
               CEIL(-10.2)=-10
               FLOOR(n)返回结果是小于或者等于参数的最大整数。例如FLOOR(-10.2)=11,
               SQRT(n)返回n的平方根。
               POWER(n2,n1)函数。得到n2的n1次幂的结果。
               EXP(n)表示e的n次幂。
               ROUND(for number),例如round(100.23456,4)=100.2346,
               round(100.23456,2.56)=100.23,round(155.23456,-2)=200
               trunc(for number)数值n根据integer的值进行截取。
               trunc(100.23456,4)=100.2345,trunc(100.23456,2.56)=100.23
               trunc(155.23456,-2)=100,trunc(155.23456)=155.
     字符型函数:CHR(n):指定的ASCII码转换为字符。
                ASCII(char)返回首字母的ASCII值。
                LEGTH(''):获取字符串的长度。
                SUBSTR():字符串截取。例如substr('abcdefg',5,2)=ef,
                substr('abcdefg',-5,2)=cd.
                CONCAT():字符串连接函数。CONCAT('我的','好')=我的好。
                INSTR():字符串搜索函数:INSTR('abcde','b')=2.
                UPPER(char):转换成大写。
                LOWER(char): 转换成小写。
                INITCAP(char):所有单词首字母大写。
                REPLACE('this is a test','tes','resul'):替换字符串函数。
                RPAD(exp1,n,exp2):在字符串exp1的右边用exp2填充,直到整个字符串长度为n为止。
                LPAD:在字符串exp1的左边用exp2填充,直到整个字符串的长度为n。
                TRIM:删除字符串首尾指定字符的函数。
                NlS_CHARSET_ID(string):字符集名称和ID互换函数。
     日期型函数:SYSDATE:获取系统的当前时间。
                 SYSTIMESTAMP:返回系统时间。
                 DBTIMEZONE;返回数据库时区。
                 ADD_MONTHS(DATE,integer):为指定日期加上指定月份。
                 SESSIONTIMEZONE:返回当前会话的时区。
                 LAST_DAY(DATE):返回指定日期对应月份的最后一天。
                 NEXT_DAY(date,char):返回当前日期向后一周char的对应日期。
                 CURRENT_DATE:得到会话时区的当前日期。
                 EXTRACT(datetime):从指定的时间当中提取到指定的日期部分。
                 MONTHS_BETWEEN(date1,date2):返回date1到date2之间的月份。
                 NEW_TIME(date1,timezone1,timezone2):返回时间date在时区timezone1
                          转换到时区timezone2的时间。
                 ROUND(date)函数:将date舍入到fmt指定的形式。
                 TRUNC:将date截取到fmt指定的形式。
     转换函数: ASCII(char):字符串转换成ASCII。
                BIN_TO_NUM:二进制转换成十进制函数。
                CAST():数据类型转换。
                CHARTOROWID(CHAR):将字符串类型转换成ROWID类型。
                ROWIDTOCHAR(rowid):将记录的rowid转换成字符串。
                CONVERT:把字符串从一个字符集转到另一个字符集。
                HEXTORAW(char):将16进制的字符串转换成raw类型的数据。
                RAWTOHEX(RAW):将raw类型的转换成16进制的字符串。
                TO_CHAR(number):将一个数值类型的参数转换成字符类型。
                TO_CHAR(date):将一个日期类型转换成字符类型。
                TO_DATE(char):将字符型转换成日期型。
                TO_NUMBER:字符串转数字。
                TO_SINGLE_BYTE(char):将全角转为半角。
    NULL函数: COALESCE():返回列表中第一个不为null的表达式。
               LNNVL(condition):该函数得到除了condition要求条件之外的数据。包括null。
               NVL(EXP1,EXP2):替换NULL的值,如果exp1为NULL,则返回exp2.否则返回exp1.
               NVL2(exp1,exp2,exp3):当exp1为NULL时,返回exp3,当exp1不为空,返回exp2.
    集合函数:AVG:平均数。
              MAX,MIN SUM.

 
 

你可能感兴趣的:(oracle)