zoukankan      html  css  js  c++  java
  • Oracle 常用函数

    1.得到字符串中的第一个字符的 ASCII 值
    代码
    ASCII(STR)
    select ASCII('ABCD') FROM DUAL;
    结果: 65


    2.得到数值 N 指定的字符
    代码
    CHR(n)
    select CHR(68) from dual;
    结果:D


    3.连接两个字符串
    代码
    CANCAT(char1,cahr2)  和 ||
    select concat('abc','defg') from dual;
    select 'abc'||'defg' from dual;
    结果: 'abcdefg'


    4.将列中的数字代替为字符串
    代码
    DECODE(char,n1,Char1,n2,char3...)
    select decode(day,1,'SUN',2,'MON') from dual
    结果:if day==1 return SUN ..==2 return MON


    5.首字母大写
    代码
    INITCAP(char)
    select initcap('abcdef') from dyal
    结果:Abcdef


    6.字符长度
    代码
    LENGTH(char)
    select length('ABCDEF') from dual
    结果: 5


    7.转小写
    代码
    Lower(char)
    select lower('ABCDEFG') from dual
    结果: abcdef


    8.左填充字符串 达到长度N
    代码
    LPAD(chard,n,char2)
    select LPAD('ABCDEF',10,'123456') from dual
    结果:1234ABCDEF


    9.从左边去掉匹配的字符串
    代码
    LTRIM(char,set)
    select LTRIM('cdcdcEFG','cd') from dual
    结果:EFG


    10.首字符大写其余小写
    代码
    NLS_INITCAP(char)
    NLS_LOWER(char)
    NLS_UPPER(char)
    select NLS_LOWER('AAA') from dual;
    结果: aaa


    11.替换部分字符
    代码
    REPLACE(ch1,ch2,ch3) :使用ch3替换ch2,替换后结果放在ch1中
    select replace(EMP_NO,'123','345') from dual
    结果:xxx1234--- xxx3454


    12.右填充字符串 达到长度N
    代码
    RPAD(ch1,ch2)
    select rpad('abcd','DEF') from dual
    结果:abcdDEF


    13.从右边去掉匹配字符
    代码
    RTRIM(ch1,set)
    select rtrim('ABCDEF','EF') from dual;
    结果:ABCD


    14.substr 截取字符串从 M 开始的 N个字符
    代码
    SUBSTR(ch1,m,n) //oralce的字符下标从 1 开始
    select substr('abcdef',2,3) from dual
    结果:bcd
    select substr('山大佛年',2,3) from dual
    结果:大佛年


    15.substrb(char,M,n)
    代码
    SUBSTR(ch1,m,n) //oralce的字符下标从 1 开始
    select substrb('abcdef',2,3) from dual
    结果:bcd
    select substrb('山大佛年',2,3) from dual
    结果:空


    16.translate(ch1,ch2,ch3)
    代码
    将ch1中的ch2用ch3 代替
    select translate('ABCDEFGH','DE','MN') from dual
    结果:ABCMNFGH


    17.UPPER(ch)
    代码
    将字符串全部大写
    select upper('abcdef') from dual
    结果:ABCDEF


    18.ADD_MONTHS(d,n)
    代码
    将N个月添加到D日期
    select ADD_MONTHS(sysdate,5) from dual;
    结果:距今后的5个月


    19.LAST_DAY(d)
    代码
    得到D日期的月份后的最后一天的日期
    select LAST_DAY(sysdate) from dual
    结果:当月后的最后一天


    20.MONTH_BERWEEN(d1,d2)
    代码
    得到两个日期之间的月数
    select MONTHS_BETWEEN(sysdate,sysdate+5) from dual
    结果:0


    21.NEXT_DAY(d,ch)
    代码
    得到比日期D晚的由ch命名的第一个周日的日期
    select NEXT_DAY (sysdate,'星期一') FROM DUAL;
    select NEXT_DAY (sysdate,1) FROM DUAL;
    结果:


    22.SYSDATE
    代码
    select sysdate from dual;
    结果:系统时间


    23.TO_CHAR(D,FMT)
    代码
    将日期D转换为FMT字符串
    select to_char(sysdate,'yyyy/mm/dd') from dual
    结果:


    24.to_date(char,fmt)
    代码
    将字符串char按fmt的格式转换
    select to_date('2010-08-24','yyyy-mm-dd') from dual
    结果:


    25.ABS(N)
    代码
    的到N的绝对值
    select abs(-6) from dual;
    结果:6


    26.CEIL(n)
    代码
    得到大于或等于N的最大整数
    select Ceil(5.6) from dual
    结果:6


    27.COS(n)
    代码
    的到 N 的余弦值
    select COS(1) from dual;
    结果:


    28.SIN(n)
    代码
    得到N的正弦值
    结果:


    29.COSH(n)
    代码
    的到N的双曲余弦值
    select COSH(1) from dual
    结果:


    30.EXP(N)
    代码
    的到 N的e的N次幂
    select exp(1) from dual
    结果:


    31.FLOOR(N)
    代码
    得到小于或等于的最小整数
    select FLOOR(5.6) from dual;
    结果:5


    32.LN(N)
    代码
    得到N的自然对数
    select LN(1) from dual
    结果:


    33.Log(M,N)
    代码
    得到以M为底N的对数
    select log(2,8) from dual;
    结果:


    34.MOD(M,N)
    代码
    得到M除以N的余数
    select MOD(100,7) from dual
    结果:2


    35.POWER(M,N)
    代码
    得到M的N次幂
    select POWER(4,3) from dual
    结果:64


    36.ROUND(M,N)
    代码
    得到N舍入到小数点后的M位
    select (78.876532,2) from dual
    结果:78.88


    37.SIGN(N)
    代码
    select SIGN(99) from dual
    当N<0 时 返回 -1
    当N>0 时 返回 1
    当N=0 时 返回 0
    结果:


    38.SING(n)
    代码
    得到N的双曲线正弦值
    select SINH(1) from dual
    结果:


    39.SORT(N)
    代码
    得到N的平方根N>0
    select sort(9) from dual
    结果:3


    40.TAN(N)
    代码
    得到N的正切值
    select TAN(0) from dual
    结果:


    41.TANH(n)
    代码
    得到N的双曲线正切值
    select TANH(0) from dual
    结果:


    42.TRUNC(N,M)
    代码
    得到在M位截断的N的值
    select TRUNC(7.7788,2) from dual
    结果:7.77


    43.COUNT()
    代码
    计算满足条件的记录数
    select count(*) from table where col1='AAA'
    结果:


    44.Max
    代码
    对指定的列求最大值
    select MAX(col1) from table
    结果:


    45.Min
    代码
    得到指定的列值的最小值
    select min(col) from dual
    结果:


    46.AVG
    代码
    求平均值
    select avg(col1) from table
    结果:


    47.SUM
    代码
    计算列的总和
    select sum(col1) from dual
    结果:


    48.TO_NUMBER(char)
    代码
    将字符转换为数值
    select TO_NUMBER('999') from dual;
    结果:999


    49.NVL(exp1,exp2)
    代码
    若exp1是null 则返回 exp2 否则返回 exp1
    select name,nvl(to_char(comm),'not application') from scott.emp
    结果:

  • 相关阅读:
    UVa 10118 记忆化搜索 Free Candies
    CodeForces 568B DP Symmetric and Transitive
    UVa 11695 树的直径 Flight Planning
    UVa 10934 DP Dropping water balloons
    CodeForces 543D 树形DP Road Improvement
    CodeForces 570E DP Pig and Palindromes
    HDU 5396 区间DP 数学 Expression
    HDU 5402 模拟 构造 Travelling Salesman Problem
    HDU 5399 数学 Too Simple
    CodeForces 567F DP Mausoleum
  • 原文地址:https://www.cnblogs.com/ShaYeBlog/p/2669020.html
Copyright © 2011-2022 走看看