`
guoyueqing
  • 浏览: 34946 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SQL语句的DECODE和NVL()函数、lpad函数

阅读更多
SQL语句的DECODE和NVL()函数、lpad函数
2008-08-04 15:16
SELECT
DECODE(WP01.ONDO_KBN,0,'対象外'1,'常温',2,'保冷')  AS ONDO_KBN
FROM
WP01_S_HAITOTAL WP01
//分析: 当WP01.ONDO_KBN=0时,将"対象外"赋值 www.lis123.com

当WP01.ONDO_KBN=1时,将"常温"赋值 www.lis123.com

当WP01.ONDO_KBN=2时,将"保冷"赋值

立珊网络计算机专业网

NVL()函数: 立珊网络计算机专业网

NVL(ARG,VALUE)达标如果前面的ARG值为NULL那么返回的值为后面的VALUE二者结合使用: lis123.com

DECODE(NVL(M01.NINUSI_NM,''),'','-',M01.NINUSI_NM) www.lis123.com

//分析: 立珊网络计算机专业网

首先判断--若M01.NINUSI_NM是否为空.若为空赋给空值[NVL函数] 立珊网络计算机

其次,判断取出的字段是否为空,如果是则赋给'-'

www.lis123.com

最后的默认处理是M01.NINUSI.NM。

lpad函数

在Oracle/PLSQL中,lpad函数将左边的字符串填充一些特定的字符,其语法格式如下:

lpad( string1, padded_length, [ pad_string ] )

其中string1是需要粘贴字符的字符串

padded_length是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成padded_length;

pad_string是个可选参数,这个字符串是要粘贴到string1的左边,如果这个参数未写,lpad函数将会在string1的左边粘贴空格。

eg:

SQL> select lpad('lijie',2) from dual;

LP
-- -------只显示2个字符
li

SQL> select lpad('lijie',6) from dual;

LPAD('
------ -------显示6个字符,有一个为空格
lijie

SQL> select lpad('lijie',8,'tina') from dual;

LPAD('LI
--------
tinlijie

1.NVL函数
从两个表达式返回一个非 null 值。

语法
NVL(eExpression1, eExpression2)

参数
eExpression1, eExpression2

如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。

返回值类型
字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值

2.NVL2函数

语法
NVL(eExpression0, eExpression1,eExpression2)

参数
eExpression0,eExpression1, eExpression2

如果 eExpression0 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1和eExpression2类型不同的话,eExpression2会转换为eExpression1的类型

返回值类型
字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值

3.nullif
NULLIF (expr1, expr2)
expr1與expr2相等返回NULL,不等則返回expr1 注意類型要一致

4.decode
decode (expression, search_1, result_1, search_2, result_2, ., search_n, result_n, default)
decode函數比較表達式和搜索字,如果匹配,返回結果;如果不匹配,返回default值;如果未定義default值,則返回空值。

4.【decode()函数】


      decode(条件,值1,翻译值1, 值2,翻译值2,...值n,翻译值n,缺省值)

     语法:相当于if -----else 用法

     if 条件=值1 then

   return(翻译值1)

  else 条件=值2 then

   return(翻译值2)

  ......

  else 条件=值n then

   return(翻译值n)


===================================

   例子:decode(sale_rate,'21','1M','30','2M','79','3M','48','4M')

        //表示如果if sale_rate = 21,则返回1M ,else sale_rate = 30 ,则返回2M


   范例2:下面的语句中,最终的速率的值显示的是: 1M 、2M、3M 、4M


   select a.lan_id 本地网,decode(a.sale_rate,'21','1M','30','2M','79','3M','48','4M') 速率,

    a.offer_id 套餐id,a.sale_name 套餐名称 from csss.inf_ct10000_sale a
分享到:
评论

相关推荐

    Oracle数据库常用sql语句的分类和常用函数.docx

    以上内容总结了Oracle数据库中常用的SQL语句及函数,涵盖了数据库的基本操作、数据管理、数据定义和查询等方面。对于初学者来说,掌握这些基础是非常重要的。希望这份指南能够帮助大家更好地理解和应用Oracle数据库...

    oracle系统内置函数大全

    12. LPAD函数:与RPAD类似,但填充发生在字符串的左侧。 13. RTRIM函数:删除字符串右边指定字符集中的字符。 14. SOUNDEX函数:根据字符串的发音返回一个四位数字的代码,用于比较发音相似的字符串。 15. SUBSTR...

    oracle函数

    Decode函数相当于SQL中的条件语句,用于根据表达式的不同值返回不同的结果。其语法结构如下: ```sql DECODE(expression, search_1, result_1, search_2, result_2, ..., search_n, result_n, default) ``` 此函数...

    oracle常用函数

    在SQL语句中,函数主要分为单行函数和多行函数。单行函数主要用于处理单行数据,而多行函数则处理多行数据集。在本篇文章中,我们将重点探讨Oracle中的单行函数,特别是针对字符串操作的函数。 1. 字符串函数: - ...

    oracle函数大全中文

    聚组函数在SQL查询中用于汇总数据,如`COUNT`计数,`SUM`求和,`AVG`计算平均值,`MIN`和`MAX`找出最小和最大值,以及`GROUP BY`语句配合使用这些函数进行分组。 6. 分析函数: 分析函数允许在数据分组后进行更复杂...

    Oracle 数据库的常用函数列表一览

    但有一些函数如`CONCAT`、`DECODE`、`DUMP`、`NVL`和`REPLACE`在遇到NULL时会有特殊行为。`NVL`函数特别重要,它允许我们在表达式中处理NULL值。`NVL(x1, x2)`当x1为NULL时返回x2,否则返回x1。例如,在更新员工的总...

    Oracle常用函数语句总结

    本篇文章将深入探讨Oracle中的常用函数和语句,帮助你更好地理解和应用这些工具。 1. **字符串处理函数** - `UPPER()` 和 `LOWER()`:将字符串转换为大写或小写。 - `SUBSTR()`:提取字符串的一部分。 - `INSTR...

    SQL应用培训资料

    - **SQL语句的适用范围**:SQL广泛应用于各类数据库管理系统中,如Microsoft Access、Microsoft SQL Server、Oracle、Sybase等,并且支持开放数据连接(ODBC)和多种开发语言。 #### 二、SQL语句分类 - **DML语句*...

    三思笔记之oracle函数

    本文将深入探讨Oracle中的几种重要函数,包括单值函数和分析函数,这些都是DBA(数据库管理员)日常工作中不可或缺的知识点。 首先,让我们关注“单值函数”。这些函数接受一个或多个输入参数,并返回一个单一的值...

    oracle一些常用函数笔记和简单例子

    2. **`DECODE()`**:类似于 `CASE` 语句,但更加简洁。 - 示例: ```sql SELECT NAME, JOB, SALARY, DECODE(JOB, 'ANALYST', SALARY * 1.15, 'MANAGER', SALARY * 1.10, 'CLERK', SALARY * 1.05, SALARY) AS...

    oracle函数.pdf

    Oracle函数是处理数据和简化查询的强大工具,熟练掌握这些函数可以极大地提高数据处理效率和SQL语句的编写能力。使用这些函数时,需要了解它们的参数和返回值,以及如何在查询中正确地使用它们。

    第三章 Oracle常用函数.pdf

    日期和时间函数用于处理日期和时间数据,Oracle中常用的日期和时间函数包括: - SYSDATE:返回系统的当前日期。 - SYSTIMESTAMP:返回系统的当前日期和时间。 - ADD_MONTHS:增加或减去指定的月份数。 - LAST_DAY:...

    oracel

    首先,Case表达式是Oracle SQL中的一个条件判断功能,它允许我们在SQL语句中实现类似于IF-THEN-ELSE的逻辑。如示例所示,我们可以通过Case来根据region_id的值决定continent字段的显示,使得数据处理更加灵活。 ...

    数据库sql/server一些注意点

    DECODE函数和CASE语句用于根据特定条件返回不同的值。DECODE函数可以简化条件判断,例如`DECODE(sal, 3000, 'a', 'b')`,如果薪水为3000,则返回'a',否则返回'b'。CASE语句则提供了更灵活的逻辑控制,例如`CASE sal...

    ORACLE_FUNCTION.rar_oracle

    GROUP BY和HAVING语句常与聚合函数配合使用,用于分组数据并进行条件筛选。 七、转换和格式化函数 例如,LOWER和UPPER用于将字符串转换为小写或大写,DECODE用于基于条件返回不同的值,而NLSSORT和NLS_UPPER/Lower...

    oracle_10G函数大全

    Oracle 10G是Oracle数据库的一个重要版本,它包含了丰富的函数集,用于处理各种数据库操作和数据处理任务。本文将详细介绍Oracle 10G中的一些关键函数,帮助你更好地理解和运用这些工具。 一、数学与转换函数 1. *...

    数据库常用SQL语法

    当数据库中的对象如存储过程、函数等由于某些原因变为无效时,可以通过以下SQL语句重新编译它们。 #### SQL语句分析: ```sql set pages 500 set lines 100 set head off spool compile1.sql select 'alter' || ...

    Oracle常用函数

    这些函数在SQL查询和数据处理中非常实用,能帮助我们更高效地处理和分析Oracle数据库中的数据。例如,`DECODE()`函数可以用于在查询中实现简单的条件判断,而`TRANSLATE()`则提供了灵活的字符替换功能。掌握这些函数...

    ORACLE.pdf

    常见的单行函数包括字符函数、数字函数、日期函数和转换函数。 - **多行函数**:这类函数可以处理一组行,并返回一个汇总结果。这些函数通常称为聚合函数,例如SUM、AVG等,在后续课程中会详细介绍。 #### 四、单行...

Global site tag (gtag.js) - Google Analytics