zoukankan      html  css  js  c++  java
  • Oracle的基本学习(三)—函数

    一、字符函数

    image

    1.大小写控制函数

    --lower:使字母变为小写--
    --upper:使字母变为大写--
    --initcap:使字符的第一个字母变为大写--
    select 
      lower('ABC'),
      upper('sql'),
      initcap('HeLlo SQL')
     from dual;

    image

    select employee_id, department_id,last_name, salary
      from employees
     where lower(last_name)='king';

    image

    2.字符控制函数

    concat(str1,str2)

         连接两个字符串。

    substr(str,index,n)

         截取字符串,从index开始(sql字符串下标第一个为1),截取n个长度。

    length(str)

         获取str的长度。

    instr(str1,str2)

         str2在str1首次出现的索引,如果不存在返回0。

    lpad(str1,len,str2)

         设置str1长度为len,如果长度不够在左边用str2补齐。

    rpad(str1,len,str2)

         设置str1长度为len,如果长度不够在右边用str2补齐。

    trim(str1,from str2)

         去掉str2中的st1,仅仅是首部和尾部的。

    replace(str,str1,str2)

         把str中的str1替换成str2,全部都替换。

    select 
     concat('hello','sql'),
     substr('hellosql',2,4),
     instr('HelloWorld','o'),
     length('hello sql') 
    from dual;

    image

    select employee_id,last_name, salary,lpad(salary,10,'*')
      from employees
     where department_id=80;

    image

    --trim:仅仅去掉首位和尾部的--
    --replace:替换所有的--
    select 
     trim('A' from 'AABBAACCAA'),
     replace('AABBAACCAA','A','M')
    from dual;

    image

    二、数字函数

    round: 四舍五入函数。

    trunc: 截断函数。

    mod: 求余函数。

    --round:四舍五入--
    select 
       round(435.45,1),
       round(435.45),
       round(435.45,-1)
    from dual;

    image

    --trunc:截断--
    select 
       trunc(435.45,1),
       trunc(435.45),
       trunc(435.45,-1)
    from dual;

    image

    三、日期相关函数

    to_char(date,'format_model')

         对日期的转换。

     select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') 
     from dual;

    image

    四、通用函数

    nvl函数

    格式: nvl(E1,E2)

    解释: 如果E1为NULL,则函数返回E2,否则就返回E1。

    nvl2函数

    格式: nvl2(E1,E2,E3)

    解释: 如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。

    nullif函数

    格式: nullif(exp1,exp2)

    解释: 如果两个表达式不相等,NULLIF 返回第一个exp1的值。如果两个表达式相等,NULLIF 返回空值NULL。

    coalesce函数

    格式: coalesce(exp1,exp2,,,,,)

    解释: 依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。

    case表达式

    SELECT last_name,
           job_id,
           salary,
           department_id,
           CASE department_id
             WHEN 10 THEN
              10 * salary
             WHEN 20 THEN
              20 * salary
             WHEN 30 THEN
              30 * salary
             ELSE
              salary
           END new_salary
      FROM employees
     WHERE department_id IN (10, 20, 30);

    image

    decode函数

    SELECT last_name,
           job_id,
           salary,
           department_id,
           DECODE(department_id,
                  10,10 * salary,
                  20,20 * salary,
                  30,40 * salary,
                  salary) new_salary
      FROM employees
     WHERE department_id IN (10, 20, 30);

    image

  • 相关阅读:
    SVN服务器搭建(一)
    排序算法二:冒泡排序
    【LeetCode】136. Single Number
    【LeetCode】217. Contains Duplicate
    【LeetCode】189. Rotate Array
    【LeetCode】122. Best Time to Buy and Sell Stock II
    【LeetCode】26. Remove Duplicates from Sorted Array
    【LeetCode】20. Valid Parentheses
    【LeetCode】680. Valid Palindrome II
    【LeetCode】345. Reverse Vowels of a String
  • 原文地址:https://www.cnblogs.com/yangang2013/p/5742899.html
Copyright © 2011-2022 走看看