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语句及函数,涵盖了数据库的基本操作、数据管理、数据定义和查询等方面。对于初学者来说,掌握这些基础是非常重要的。希望这份指南能够帮助大家更好地理解和应用Oracle数据库...
12. LPAD函数:与RPAD类似,但填充发生在字符串的左侧。 13. RTRIM函数:删除字符串右边指定字符集中的字符。 14. SOUNDEX函数:根据字符串的发音返回一个四位数字的代码,用于比较发音相似的字符串。 15. SUBSTR...
Decode函数相当于SQL中的条件语句,用于根据表达式的不同值返回不同的结果。其语法结构如下: ```sql DECODE(expression, search_1, result_1, search_2, result_2, ..., search_n, result_n, default) ``` 此函数...
在SQL语句中,函数主要分为单行函数和多行函数。单行函数主要用于处理单行数据,而多行函数则处理多行数据集。在本篇文章中,我们将重点探讨Oracle中的单行函数,特别是针对字符串操作的函数。 1. 字符串函数: - ...
聚组函数在SQL查询中用于汇总数据,如`COUNT`计数,`SUM`求和,`AVG`计算平均值,`MIN`和`MAX`找出最小和最大值,以及`GROUP BY`语句配合使用这些函数进行分组。 6. 分析函数: 分析函数允许在数据分组后进行更复杂...
但有一些函数如`CONCAT`、`DECODE`、`DUMP`、`NVL`和`REPLACE`在遇到NULL时会有特殊行为。`NVL`函数特别重要,它允许我们在表达式中处理NULL值。`NVL(x1, x2)`当x1为NULL时返回x2,否则返回x1。例如,在更新员工的总...
本篇文章将深入探讨Oracle中的常用函数和语句,帮助你更好地理解和应用这些工具。 1. **字符串处理函数** - `UPPER()` 和 `LOWER()`:将字符串转换为大写或小写。 - `SUBSTR()`:提取字符串的一部分。 - `INSTR...
- **SQL语句的适用范围**:SQL广泛应用于各类数据库管理系统中,如Microsoft Access、Microsoft SQL Server、Oracle、Sybase等,并且支持开放数据连接(ODBC)和多种开发语言。 #### 二、SQL语句分类 - **DML语句*...
本文将深入探讨Oracle中的几种重要函数,包括单值函数和分析函数,这些都是DBA(数据库管理员)日常工作中不可或缺的知识点。 首先,让我们关注“单值函数”。这些函数接受一个或多个输入参数,并返回一个单一的值...
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函数是处理数据和简化查询的强大工具,熟练掌握这些函数可以极大地提高数据处理效率和SQL语句的编写能力。使用这些函数时,需要了解它们的参数和返回值,以及如何在查询中正确地使用它们。
日期和时间函数用于处理日期和时间数据,Oracle中常用的日期和时间函数包括: - SYSDATE:返回系统的当前日期。 - SYSTIMESTAMP:返回系统的当前日期和时间。 - ADD_MONTHS:增加或减去指定的月份数。 - LAST_DAY:...
首先,Case表达式是Oracle SQL中的一个条件判断功能,它允许我们在SQL语句中实现类似于IF-THEN-ELSE的逻辑。如示例所示,我们可以通过Case来根据region_id的值决定continent字段的显示,使得数据处理更加灵活。 ...
DECODE函数和CASE语句用于根据特定条件返回不同的值。DECODE函数可以简化条件判断,例如`DECODE(sal, 3000, 'a', 'b')`,如果薪水为3000,则返回'a',否则返回'b'。CASE语句则提供了更灵活的逻辑控制,例如`CASE sal...
GROUP BY和HAVING语句常与聚合函数配合使用,用于分组数据并进行条件筛选。 七、转换和格式化函数 例如,LOWER和UPPER用于将字符串转换为小写或大写,DECODE用于基于条件返回不同的值,而NLSSORT和NLS_UPPER/Lower...
Oracle 10G是Oracle数据库的一个重要版本,它包含了丰富的函数集,用于处理各种数据库操作和数据处理任务。本文将详细介绍Oracle 10G中的一些关键函数,帮助你更好地理解和运用这些工具。 一、数学与转换函数 1. *...
当数据库中的对象如存储过程、函数等由于某些原因变为无效时,可以通过以下SQL语句重新编译它们。 #### SQL语句分析: ```sql set pages 500 set lines 100 set head off spool compile1.sql select 'alter' || ...
这些函数在SQL查询和数据处理中非常实用,能帮助我们更高效地处理和分析Oracle数据库中的数据。例如,`DECODE()`函数可以用于在查询中实现简单的条件判断,而`TRANSLATE()`则提供了灵活的字符替换功能。掌握这些函数...
常见的单行函数包括字符函数、数字函数、日期函数和转换函数。 - **多行函数**:这类函数可以处理一组行,并返回一个汇总结果。这些函数通常称为聚合函数,例如SUM、AVG等,在后续课程中会详细介绍。 #### 四、单行...