zoukankan      html  css  js  c++  java
  • SQL 函数

    sql函数

    character函数  String

    1.INITCAP 首字母大小

          select initcap(address) address from student;

          select initcap('ni hao') from dual;   --dual虚拟表  '数据列名-数据

        2.LTRIM 从左往右截取

          select ltrim('ni hao ni', 'ni') from dual;    //hao ni

        3.RTRIM 从右往左截取

          select rtrim(‘hao ni hao', 'hao') from dual;  //hao ni

        4.CONCAT  并置运算符 || 

          select concat(stuNo, concat(' ', name)) from student;

          select stuNo || ' ' || name as info from student;

        5.SUBSTR  subString(str, begin, end)

          select substr('nihao hi helloi', 0, 10) from dual;   --包括第一位是0,也包括第10位

        6.INSTR

          select instr('nihao', 'ni') from dual;

        7.LENGTH

          select length(address) from student;

        8.RPAD

          insert into school values(rpad(88, 8, '0'), '南京大学');

    ---------------------------------------------------------------------------------------------------------------------------------

    重要:   

       9.LOWER

          select lower('HELLO') from dual;

      10.UPPER 

          select upper('hello') from dual;

          String inputEmail = "Bob.wang";  -- 用户名不区分大小写

          select * from users where upper(email) = upper(inputEmail);

          select * from student where upper(address) = upper('China Wuxi New Area');

      11.LPAD  --  insert PK 序列sequence

          insert into school values(lpad(88, 8, '0'), '江苏大学');

          insert into school values('S'||lpad(89, 7, '0'), '江苏科技大学');

     ---------------------------------------------------------------------------------------------------------------------------------

     数值函数  Math

        1.ABS    绝对值

          select abs(-10) from dual;

        2.CEIL >= 最小整数

          select ceil(-10.1) from dual;

        3.FLOOR  <= 最大整数

          select floor(-10.1) from dual;

        

    4.POWER  求幂

          select power(10, 4) from dual;

        5.MOD    取余

          select mod(-10, 3) from dual;

        6.SQRT   开方

          select sqrt(100) from dual;

        7.TRUNC  直接截取

          select TRUNC(19.99) from dual; 

          select TRUNC(19.99281, 3) from dual;

        8.ROUND  四舍五入

          select round(19.99) from dual;        -- 20

          select round(19.99281, 3) from dual;  -- 19.993

      


     

    日期函数

       1.系统时间

          select sysdate from dual;

       2. ADD_MONTHS  

    计划  2014-11-25开始project做两个月 得出开始日期  结束日期

              select '25-11-14' as "开始时间", add_months('25-11-2014', 2) as "结束时间" from dual;

       3.GREATEST

          select greatest('25-11-14', sysdate) from dual; 

     GREATEST 返回值列表中最大值

                  格式: GREATEST(value1, value2, value3, ...)

                  含义: 返回value列表最大的值。

                              Value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。

                               value值列表中有一个为NULL,则返回NULL值。

     

       4.LEAST

          select least('25-11-14', sysdate) from dual; 

    LEAST 返回值列表中最小值

                格式: LEAST(value1, value2, value3, ...)

                含义: 返回value列表最小的值。

                            value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。

                             value值列表中有一个为NULL,则返回NULL值。

     

       5.LAST_DAY  月份最后一天日期

          select last_day(sysdate) from dual;

       6.MONTHS_BETWEEN返回两个日期之间的月份数。

          select MONTHS_BETWEEN('25-11-14', sysdate) from dual; 

       

    7.NEXT_DAY 下一个星期几日期  1~7  ~

          select next_day(sysdate, 6) from dual;

       8.ROUND日期中的四舍五入   (上半月;下半月)

          select round(sysdate, 'month') from dual; 

       9.TRUNC  截取

          select trunc(sysdate, 'year') from dual;   //截取到年份 res01-0114

     


     
    格式化函数

        1.隐式转换

          此转换类型中,数据类型将根据SELECT语句中函数的要求自动进行转换。 

          select add_months('10-10-14', 1) from dual;

          select * from school where schoolcode = '00000088';

          select * from facutly where facutlyNo = 1;   -- 列中数据应为数字的char字符

        2.显式转换 

          此转换类型中,数据类型的转换通过一些预定义函数完成。转换函数有:

            日期格式化函数

              TO_DATE 

                insert into student(stuNo, name, birthDate, majorNo) 

                            values('S9722', 'John', to_date('1995-10-10', 'yyyy-mm-dd'), 'M0003');

              TO_CHAR 

                select birthDate from student;

                select to_char(birthDate, 'yyyy-mm-dd') from student;

        

     

     

     

     

     

      3.数值格式化函数

              to_number   -- 列中数据应为数字的char字符

              select to_number(schoolCode) from school where schoolcode = '00000088';

      4. nvl(1, 2)   若值1为空  显示值2的数据   若值1不为空显示自身值 

        select stuNo, name, nvl(javasescore, 60) from student;

        

      5Coalesce函数  Coalesce (exp_name1, exp_name2.. exp_n)   若表达式值不为空显示

        select coalesce('', '', '', '1', 'value') from dual;

     

     


     

    /*

     * 多行函数 

     *  把多行数据组合为一行

     */

     

     

    1. count 统计 count(*|列名)--列数据为null不参与多行函数操作
    2. select count(*)from student;--有多少学生
    3. select count(javaSEScore)from student;--有多收学生参与考试
    4. select count(*)from student where majorno ='M0001';
    5. sum
    6. select sum(javaSEScore)from student;
    7. select sum(salary)from employee;
    8. avg
    9. select avg(javaSEScore)from student;
    10. max
    11. select max(javaSEScore)from student;
    12. min
    13. select min(javaSEScore)from student;
    14. stddev 偏差
    15. select stddev(javaSEScore)from student;
    16. variance 方差
    17. select variance(javaSEScore)from student;
    18. --select name, count(*)from student
     

     

     

     

     

     





  • 相关阅读:
    调用tensorflow中的concat方法时Expected int32, got list containing Tensors of type '_Message' instead.
    lstm公式推导
    RNN推导
    word2vec原理
    反向传播神经网络入门
    mac升级系统自带numpy失败解决方案
    mac安装.net core
    mac 当前位置打开终端
    docker安装配置
    KVM性能优化学习笔记
  • 原文地址:https://www.cnblogs.com/jarl/p/5892591.html
Copyright © 2011-2022 走看看