zoukankan      html  css  js  c++  java
  • Oracle 常用函数(Decode,sign,lpad)

    ---DECODE()函数,它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。

    语法结构如下:

    decode (expression, search_1, result_1)
    decode (expression, search_1, result_1, search_2, result_2)
    decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)
    decode (expression, search_1, result_1, default)
    decode (expression, search_1, result_1, search_2, result_2, default)
    decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)

    比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。

     

    ---Decode与sign函数联用比较大小:

    语法:select decode(sign(arg1-arg2),-1, arg1, arg2) from dual; --get arg1与arg2的较小值  

    实例:select decode(sign(3-5),1 ,3, 5) from dual  

    注:sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1

    ---补充:有学生成绩表student,现在要用decode函数实现以下几个功能:成绩>85,显示优秀;>70显示良好;>60及格;否则是不及格。
    假设student的编号为id,成绩为score,那么:
    select id, decode(sign(score-85),1,'优秀',0,'优秀',-1,
    decode(sign(score-70),1,'良好',0,'良好',-1,
    decode(sign(score-60),1,'及格',0,'及格',-1,'不及格')))
    from student;
     
    ---lpad(String ,最后字符串长度>0,填充的内容)
    例如:
    select lpad('test',10) from dual; 
    将返回“    test”
     
    lpad('tech', 2); 将返回'te'
     
    select lpad('test',10,'ee') from dual;
    结果将返回eeeeeetest
  • 相关阅读:
    一周好文(15)
    一周好文(13)
    宏定义中的 "#" 和 "##"
    一周好文(14)
    CCRenderTexture崩溃问题分析
    C++反射机制的实现(转)
    一周好文(16)
    opengl on mac
    uthash: a hash table for C strcutures
    CC3LineNode线条变色的问题
  • 原文地址:https://www.cnblogs.com/flord/p/5710323.html
Copyright © 2011-2022 走看看