zoukankan      html  css  js  c++  java
  • Oracle数据库和表的操作

    一、字符函数

    (1)连接符 concat

    --连接符
    select concat('10086','-')||'1531234567' 电话号  from dual;

    (2)首字母大写 initcap

    --首字母大写
    select initcap('wangxiaoming') from dual;

    (3)查找字符串 str

    str1 被查找的字符串

    str2 查找字符串

    str3 从哪个位置查

    str4 第几次出现

    --查找字符串
    select instr('410727201812131111','2018',2,1) from dual;

    注:2的意思为从前面一串字符中第二位开始查找,不会影响初始查找得出的值。1的意思为从第几为出现(不重要)

    (4)大小写转换 upper lower

    --大小转换
    select upper(列名) 大写,lower(列名) 小写 from 表名;

    (5)字符串补充(粘贴)函数 lpad rpad
    -- str1需补充字符串
    -- str2补充至多少位
    -- str3补充字符
    select lpad('str1',str2,'str3') from dual;--向左补充
    select rpad('str1',str2,'str3') from dual;--向右补充

    注:不是补充str2个字符,是将str2个字符补全,如果str1的字符>str2,则不补充。

    例子:

    --左补充
    select lpad('left',8,'*') from dual;
    --右补充
    select rpad('right',8,'*') from dual;

     (6)删除字符 trim
    -- str1 需删除字符串
    -- str2 删除字符
    select ltrim('str1','str2') from dual;  --注意符号的缺失

    例子:

    --删除左边字符
    select ltrim('***1***left','*') from dual;
    --删除右边字符
    select rtrim('right***1***','*') from dual;

    (7)子字符函数 substr(含义:截取字符串中某一字符)
    -- str1 需截取字符串
    -- str2截取开始位置
    -- str3截取多少位

    select substr('str1',str2,str3) from dual;

    注:(左闭区间,截取位置包含str2)

    例子:

    --截取字符
    select substr('1531234567',1,3) from dual;

    根据截取字符得出一个小案例如下:

    --购物支付手机号保密
    select rpad(substr('1531234567',1,3),8,'*') from dual;
    --结果:153*****

    (8)替换函数
    --str1 需替换字符串
    --str2需替换字符
    --str3替换字符

    select replace('str1','str2','str3') from dual;

    例子:

    --将呵呵替换为**
    select replace('呵呵','','*') from dual;

    二、数学函数

    (1)向上取整 ceil

    例子:

    --返回大于等于给出数字的最小整数
    select ceil(3.14) from dual;
    --不进行四舍五入,结果为4

    (2)向下取整 floor

    例子:

    -- 取消小数,结果为3
    select floor(3.14) from dual;

    (3)精确地四舍五入 round

    --  str1   -1      0        +1
    --         负数   整数    正数

    注:可取负数,整数,小数

    例子:

    --结果3.1410
    select round3.1415926,4from dual;
    --结果31410
    select round31415.926,-1from dual;

    (4)按照指定精度截取一个数 trunc

    例子:

    --正数截取
    select trunc (3.1415926,4from dual;
    --负数截取
    select trunc (31415.926,-4from dual;

    (5)返回数字的根 sqrt

    例子:

    select sqrt25from dual;

     三、日期函数

    (1)返回当前系统的时间 sysdate

    select sysdate from dual;

    (2)to_char 将日期类型的值转换为char类型的值

    --将系统时间转为字符类型
    select sysdate,to_char(sysdate,'dd-mm-yyyy day'from dual;

    (3)trunc 截断时间

    --只显示系统时间的年份
    select sysdate,trunc(sysdate,'yyyy') from dual;
    --只显示系统时间的月份
    select sysdate,trunc(sysdate,'mm') from dual;

    (4)增加或减少月份

    select sysdate,add_months(sysdate,3) from dual;
    --计算两个时间之间相差的时间
    select sysdate,months_between(sysdate,to_date('2017-3-9','yyyy-mm-dd')) from dual;

    四、其他函数


    (1)nvl(expr1,expr2):如果expr1为null,返回expr2;不为null,返回expr1;注意expr1和expr2的类型要一致。

    select nvl(expr1,expr2) from 表名;

    (2)nvl2(expr1,expr2,expr3):expr1不为null,返回expr2;为null,返回expr3;expr2和expr3的类型不同的话,expr3会转换为expr2的类型。

    select nvl2(expr1,expr2,expr1) from 表名;

    五、聚合函数(avg、max、min、count、sum)

    --统计符合条件的数目
    select count(*) from 表名;
    --求和
    select sum(sal) from emp;
    --求平均数
    --distinct 表示将重复的值删除
    --all 计算所有的值,重复也不删除
    --以上不写默认all
    select avg(sal) from emp;
  • 相关阅读:
    读取.properties配置文件并保存到另一个.properties文件内
    kafka启动报错:另一个程序正在使用此文件,进程无法访问。
    使用Spring boot 嵌入的tomcat不能启动: Unregistering JMX-exposed beans on shutdown
    java把map转json
    java代码生成xml 报错:HIERARCHY_REQUEST_ERR: 尝试在不允许的位置插入节点。
    查询数据库时mapper报错:It's likely that neither a Result Type nor a Result Map was specified.
    获取session
    Apache服务器运维笔记(2)----使用apxs来进行编译安装 mod_txt 模块
    Apache服务器运维笔记(2)----使用<IfDefine>容器实现不同的配置
    Apache服务器运维笔记(1)----运行多个Apache服务器
  • 原文地址:https://www.cnblogs.com/3sanrenyou/p/8535375.html
Copyright © 2011-2022 走看看