1.在字符串类型中的单值函数

  lower:全部转换成小写

  upper:全部转换成大写

  substr:截取子串

  concat:字符串拼接

  nvl:处理空值

  initcap:首字母大写 其余字母小写

  length:字符串长度

  注:dual 哑表 满足select语法结构

     select lower('sql oracle') from dual;

     select sysdate from dual;      //打印当前日期

2.在number类型的单值函数

  round:四舍五入
  select round(45.523,2) from dual;   //45.52

  select round(45.523) from dual;   //46

  select round(45.523,-1) from dual;   //50

  trunc:只舍不取

  select trunc(45.523) from dual;    //45

  select trunc(45.523,-1) from dual;   //40

  mod:取余

  select mod(1500,400) from dual;    //300

3.在日期类型中的单值函数

  在更改日期类型时最好将会话(session)设置为英文模式

  (alter session set nls_date_language=english;   //设置会话语言

  months_between:俩个日期直接相差的月数

  add_months:在某个日期加上月数之后的日期

  next_day:即将到来的星期几的日期

  last_day:当前日期的月份的最后一天

  round:四舍五入    注:对于month 15舍16进 ;对于year  6舍7进

  trunc:只舍不取

4.转换函数:转换数据类型

  to_char

    把日期类型转换成字符串类型  sysdate 默认格式DD-MON-YY

    select to_char(sysdate,'YYYY-MM-DD hh24-mi-ss PM') time
       from dual;
       //2020-09-02 15-07-24 PM

    把数字类型转换成字符串类型

    select to_char(salary,'fm$999,999.00')  from s_emp;

    select to_char(salary,'L999,999.00') from s_emp;

    注:fm去掉前面多余的空格或0
        L显示当地货币的符号
        ,用来分割
        .小数点
        位数不够不能正常显示
        0:不足位会自动补位
        9:不足为不会自动补位

  to_number 

    把字符串类型转换为日期类型

    select to_number('a') from dual;

  to_date

    把字符串转换成日期类型

     //默认日期格式
      select to_date('09-JUN-20') "date" from dual;
  
      //不是默认的日期格式 指定日期格式
      select to_date('2020-09-20','yyyy-mm-dd') from dual;

  

  例: 查询全名 全名大写 first_name长度为6  全名降序
     select upper(last_name||','||first_name) name
     from s_emp
     where length(last_name)=6
     order by name DESC;

  

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/shizt/p/13603717.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!