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
分享到:
相关推荐
SQL语句的DECODE和NVL,肯定能帮到你,好用!
DECODE函数,是ORACLE公司的SQL软件ORACLE PL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名。 今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网...
字符函数 数值函数 日期函数 数据转换函数 decode函数 nvl函数
本文讲述了Oracle-Decode()函数和CASE语句的比较。
Oracle中Decode()函数使用技巧
Oracle中Decode()函数使用技巧Oracle中Decode()函数使用技巧Oracle中Decode()函数使用技巧
oracle中decode()函数使用技巧 很有帮助的哦
Oracle中Decode()函数的有关用法Oracle中Decode()函数的有关用法
主要作用:将查询结果翻译成其他值(即以其他形式表现...Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) From talbename Where … 其中columnname为要选择的table中所定义的column,
DECODE()函数,它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。区别于SQL的其它函数,DECODE函数还能识别和操作空值。本文详细介绍了DECODE函数的语法。
关于oracle decode函数的用法
decode函数.docx
1 DECODE 中的if-then-else逻辑 在逻辑编程中,经常用到If – Then –Else 进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。
我们要做到不但会写SQL,还要做到写出性能优良的SQL语句。 (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表...
DECODE函数相当于一条件语句(IF).它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。
decode和encode是他们之间的转化函数 大致的过程如下 decode encode str --> str(Unicode) --> str decode()方法语法: str.decode(encoding=‘UTF-8’,errors=‘strict’) 参数: encoding – 要使用的编码...
decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ...... ELSIF 条件=值n THEN RETURN(翻译值n) ...
这个是 utf-8版本的 js实现 php的 urlencode() 和 urldecode()两个函数的功能。 在传送cookie的时候 在 php端实现 url编码 但要用 js来解码cookie的时候 就出现汉字不能不能识别的问题 这个 js 很好的解决
urlEncode加密后的中文进行解码,对于分析远程链接很有帮助。