zoukankan      html  css  js  c++  java
  • oracleI基础入门函数decode Crazy

     decode()函数

    DECODE函数是ORACLE PL/SQL功能强大的函数之一。

    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)

    decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。
    举例:
    SQL> create table t as select username,default_tablespace,lock_date from dba_users;

    Table created.

    SQL> select * from t;

    USERNAME                       DEFAULT_TABLESPACE             LOCK_DATE
    ------------------------------ ------------------------------ ------------------------
    SYS                                     SYSTEM
    SYSTEM                             SYSTEM
    OUTLN                               SYSTEM
    CSMIG                                SYSTEM
    SCOTT                                SYSTEM
    EYGLE                                USERS
    DBSNMP                            SYSTEM
    WMSYS                              SYSTEM                                           20-OCT-04

    8 rows selected.


    SQL> select username,decode(lock_date,null,'unlocked','locked') status from t;

    USERNAME                  STATUS
    ------------------------------ --------
    SYS                                unlocked
    SYSTEM                        unlocked
    OUTLN                          unlocked
    CSMIG                           unlocked
    SCOTT                           unlocked
    EYGLE                           unlocked
    DBSNMP                       unlocked
    WMSYS                          locked

    8 rows selected.

    SQL> select username,decode(lock_date,null,'unlocked') status from t;

    USERNAME                  STATUS
    ------------------------------ --------
    SYS                                unlocked
    SYSTEM                        unlocked
    OUTLN                          unlocked
    CSMIG                           unlocked
    SCOTT                           unlocked
    EYGLE                           unlocked
    DBSNMP                       unlocked
    WMSYS

    8 rows selected.
     

  • 相关阅读:
    20200601:百万级int数据量的一个array求和。
    20200602:千万级数据量的list找一个数据。
    20200531:假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们全部找出来?
    20200530:主从数据库不一致如何解决?
    [USACO06DEC]Milk Patterns G
    [HAOI2016]找相同字符
    [AHOI2013]差异
    [SCOI2012]喵星球上的点名
    [APIO2014]回文串
    [TJOI2015]弦论
  • 原文地址:https://www.cnblogs.com/flyscan/p/2513454.html
Copyright © 2011-2022 走看看