zoukankan      html  css  js  c++  java
  • Oracle 单行函数

    • 单行函数

    round()      四舍五入

    trunc()       截取

    abs()              求绝对值

    mod()        求余数

    length()     长度

    upper()      全部转化位大写

    lower()       全部转化为小写

    initcap()     全部转化为首字母大写

    lpad()         从左边补全

    rpad()         从右边补全

    ltrim()         从左边截取

    rtrim()         从右边截取

    instr()         查询指定字符串下标

    substr()      获取从指定下标开始的字符串

    replace()     替换

    translate()  转换

    (1). 数字 / 字符 / 字符串操作

      【 返回 'hello''的大写字符串】

           selectupper(‘hello’) from dual;

     【 返回 ''hello'的首字母是大写的字符串】

           selectinitcap(‘hello’)from dual;

      【返回'tianqizhenhao' 该字符串的后7 个字符】

           selectsubstr(‘tianqizhenhao’,-7,7) from dual;

     

    (2).日期操作

    1. 显示41号部门员工 姓名, 进入公司的天数,年数,月份数,星期数【分别加上中文别名】

     select  e.first_name 姓名,

    sysdate -  e.hiredate天数,

    months_between(sysdate,e.hiredate) 月数,

    (months_between(sysdate,e.hiredate))/12年分数

    froms_emp  e

    wheree.deptno = 41;

    -- 2. 显示当前时间

    selectsysdate from dual ;

    (3).转换函数

    【获得当前年份,月份,日期  [ char]】

    select

    to_char(sysdate,'yyyy') 年份,

    to_char(sysdate,'mm') 月份,

    to_char(sysdate,'dd') 日期

    from dual

    • 将当前的时间 转换成 字符串输出【 即 date 类型 转换成 char 类型】

    select  to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual

    【将'2011-09-12 '  转换成 date 类型】

    selectto_date('2011-09-12','yyyy-mm-dd') from dual

    【 获得字符串 '2011-09-12 ' 的月份】

    select  to_number(to_char( to_date('2010-09-18','yyyy-mm-dd') , 'mm')) from dual

    【获得 8732034.56 用如下形式表示: 8,732,034.56】 

    select  to_char( 8732034.56,'9,999,999.99') from dual

    【获得 8732034.56 用如下形式表示: $8,732,034.56】 

    select  to_char( 8732034.56,'$9,999,999.99') from dual

    decode(A,b,c,d,e,f,g,h)

    如果A=b,输出c;

    如果A=d,输出e;

    如果A=f,输出g;

    如果b,d,f都不满足A,输出h.

     

    【输出显示每个订单编号及支付方式,支付方式要么是现金,要么是信用卡,否则就是未知数。】

           select id,decode(payment_type,'CASH','现金','CREDIT','信用卡','未知数' )

           froms_ord;

    【请把员工工资分为3等,超过2000员的为高等在1500到2000之间的为中等,低于1500的为低等】

    select first_name 员工名

    case

           when salary<1500 then '低等'

           when salary>=1500 and salary<2000 then '中等'

           when salary>=2000 then '高等'

           end 工资等级

    froms_emp;

          

           注意:case后面是否出现列名,取决于when后面条件是否出现比较列

           如果when后面已经出现列名,那case后面务必不能写列名,

           如果when后面是值,那么必须在case后面指定列名,否则无法确定所给的值的真正含义

     

  • 相关阅读:
    手把手教你测之二——有信,一款网络电话
    DroidPilot V2.1 手写功能特别版
    《移动应用自动化测试现状与方向研讨会》视频
    手把手教你测——上网快鸟
    DroidPilot AutoRunner新版宣传视频
    DroidPilot参展2012香港贸发局国际资讯科技博览会
    视频: DroidPilot
    注意!用户使用自己的adb,版本必须是Android SDK 10以上
    部分厂家用户反映USB连接问题,是厂家修改了adb导致,解决方法:
    软件简单介绍
  • 原文地址:https://www.cnblogs.com/ty-v/p/7846043.html
Copyright © 2011-2022 走看看