SQL 函数

  格式化函数

    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;

    

  5.Coalesce函数  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

 

 

 

 

 

 

 

 

来源为知笔记(Wiz卡塔尔国

sql函数

character函数  String

1.INITCAP 首字母大小

      select initcap(address) address from student;

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

    2.LTRubiconIM 从左往右截取

      select ltrim(‘ni hao ni’, ‘ni’) from dual;    //hao ni

    3.RTEvoqueIM 从右往左截取

      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,也包含第十位

    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’卡塔尔国, ‘南京大学’State of Qatar;


重要:   

   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’卡塔尔国, ‘福建高校’State of Qatar;

      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.FLOO酷路泽  <= 最大整数

      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  

陈设  贰零壹肆-11-25从头project做七个月 得出发轫日期  结束日期

          select ’25-1月-14′ as “开头时间”, add_months(’25-八月-二零一四’, 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;   //截取到寒暑 res:01-0四月14

 


 

网站地图xml地图