decode 订阅
DECODE是Oracle公司独家提供的功能(ps:informix数据库也提供该函数),它是一个功能很强的函数。它虽然不是SQL的标准,但对于性能非常有用。其他的数据库供应商还不能提供类似DECODE的功能,甚至有的数据库的供应商批评Oracle的SQL不标准。实际上,这种批评有些片面或不够水平。就象有些马车制造商抱怨亨利·福特的“马车”不标准一样。 展开全文
DECODE是Oracle公司独家提供的功能(ps:informix数据库也提供该函数),它是一个功能很强的函数。它虽然不是SQL的标准,但对于性能非常有用。其他的数据库供应商还不能提供类似DECODE的功能,甚至有的数据库的供应商批评Oracle的SQL不标准。实际上,这种批评有些片面或不够水平。就象有些马车制造商抱怨亨利·福特的“马车”不标准一样。
信息
特    色
其他供应商还不能提供类似功能
提供公司
Oracle公司
中文名
Decode
性    质
一个功能很强的函数
Decode函数
Decode:(指令解码)由于X86指令的长度不一致,必须用一个单元进行"翻译",真正的内核按翻译后要求来工作。1 DECODE 中的if-then-else逻辑在逻辑编程中,经常用到If – Then –Else 进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。它的语法如下:DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试,如果value的值为if1,Decode 函数的结果是then1;如果value等于if2,Decode函数结果是then2;等等。事实上,可以给出多个if/then 配对。如果value结果不等于给出的任何配对时,Decode 结果就返回else 。需要注意的是,这里的if、then及else 都可以是函数或计算表达式。2 DECODE 的简单例子Oracle系统中就有许多数据字典是使用decode 思想设计的,比如记录会话信息的V$SESSION数据字典视图就是这样。我们从《Oracle8i/9i Reference》资料中了解到,当用户登录成功后在V$SESSION中就有该用户的相应记录,但用户所进行的命令操作在该视图中只记录命令的代码(0—没有任何操作,2—Insert…),而不是具体的命令关键字。因此,我们需要了解当前各个用户的名字及他们所进行的操作时,要用下面命令才能得到详细的结果:select sid,serial#,username,DECODE(command,0,’None’,2,’Insert’,3,’Select’,6,’Update’,7,’Delete’,8,’Drop’,‘Other’) commandfrom v$session where username is not null;3 DECODE实现表的转置数据库中的表是由列和行构成的一个二维表。一般列在任何数据库中都是有限的数量,而行的变化较大,如果表很大,行的数量可能大上千万行。同一列的不同行可能有不同的值,而且不是预先定义的。例:住房公积金报表置换实例:1.各个单位在本地经办行进行开户,开户就是将单位的基本信息和职工信息的进行登记;2.每月各个单位的会计到经办行交缴本单位的所有职工的住房公积金,系统记录有每个职工的交缴明细并在每条记录上记录有经办行的代码;3.每月、季、半年及年终都要求将经办行 变为“列”给出个月的明细报表:经办行:城西区城东区月份:2001.01 xxxx1.xx xxxxx2.xx2001.02 xxxx3.xx xxxxx4.xx。 。 。 。 。 。原来的数据顺序是:城西区2001.01 xxxxx1.xx城东区2001.01 xxxxx2.xx城西区2001.02 xxxxx3.xx城东区2001.02 xxxxx4.xx住房公积金系统记录职工的每月交缴名细的pay_lst表结构是:bank_code varchar2(6)NOT NULL, -- 经办行代码acc_no varchar2(15) not null, -- 单位代码(单位帐号)emp_acc_no varchar2(20) not null, -- 职工帐号tran_date date not null, -- 交缴日期tran_val Number(7,2) not null, -- 交缴额sys_date date default sysdate, --系统日期oper_id varchar2(10) --操作员代码这样的表结构,一般按照将经办行作为行(row)进行统计是很容易的,但是如果希望将经办行变为列(column)这样的格式来输出就有困难。如果用DECODE函数来处理则变得很简单:我们创建一个视图来对的pay_lst表进行查询。将经办行代码变为一些具体的经办行名称即可:CREATE OR REPLACE VIEW bank_date_lst ASSelect to_char(tran_date,’yyyy .mm’),SUM( DECODE ( bank_code,’001’, tran_val,0 )) 城西区,SUM( DECODE ( bank_code,’002’, tran_val,0 )) 城南区,SUM( DECODE ( bank_code,’003’, tran_val,0 )) 城东区FROM pay_lstGROUP BY to_char(tran_date,’yyyy .mm’);建立视图后,可直接对该视图进行查询就可按照列显示出结果。简单应用:如果字段a值为null,则替换为0decode(a,Null,0,a) a字段如果为null,则替换为0,如果不为null,则为a [1] 
收起全文
精华内容
下载资源
问答
  • decode

    千次阅读 2018-07-22 15:12:38
    比如我要查询某班男生和女生的数量分别是多少?   通常我们这么写: select count(*) from 表 where 性别 = 男; select count(*) from 表 ...select sum(decode(性别,男,1,0)),sum(decode(性别,女,1,...

    比如我要查询某班男生和女生的数量分别是多少?

     

    通常我们这么写:

    select count(*) from 表 where 性别 = 男;

    select count(*) from 表 where 性别 = 女;

    要想显示到一起还要union一下,太麻烦了

    用decode呢,只需要一句话

    select sum(decode(性别,男,1,0)),sum(decode(性别,女,1,0)) from 表

    展开全文
  • 成功解决AttributeError: 'str' object has no attribute 'decode'

    万次阅读 多人点赞 2018-08-26 11:27:11
    成功解决AttributeError: 'str' object has no attribute 'decode' 目录 解决问题 解决思路 解决方法 解决问题 AttributeError: 'str' object has no attribute 'decode' ...

    成功解决AttributeError: 'str' object has no attribute 'decode'

     

     

     

     

    目录

    解决问题

    解决思路

    解决方法


     

     

     

     

     

     

     

     

     

     

    解决问题

    AttributeError: 'str' object has no attribute 'decode'

     

     

     

     

     

    解决思路

    根据问题提示,意思是,属性错误:“str”对象没有属性“decode”
    python3.5和Python2.7在套接字返回值解码上的区别 
    python在bytes和str两种类型转换,所需要的函数依次是encode(),decode()

     

     

     

     

    解决方法

    直接去掉decode('utf8')

    tips:str通过encode()方法可以编码为指定的bytes。反过来,当从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法。反之,则使用encode()方法即可!

    大功告成!

     

     

     

     

     

     

    展开全文
  • hello~大家新年好,已经好久没有更博了,刚刚在运行python文件的时候竟然报SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: tr这个错误,其实引起这个错误的原因就是转义...

        hello~大家新年好,已经好久没有更博了,刚刚在运行python文件的时候竟然报SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: tr这个错误,其实引起这个错误的原因就是转义的问题。

        举个例子,在文件中我传入的文件路径是这样的

    sys.path.append('c:\Users\mshacxiang\VScode_project\web_ddt')

        原因分析:在windows系统当中读取文件路径可以使用\,但是在python字符串中\有转义的含义,如\t可代表TAB,\n代表换行,所以我们需要采取一些方式使得\不被解读为转义字符。目前有3个解决方案

    1、在路径前面加r,即保持字符原始值的意思。

    sys.path.append(r'c:\Users\mshacxiang\VScode_project\web_ddt')

    2、替换为双反斜杠

    sys.path.append('c:\\Users\\mshacxiang\\VScode_project\\web_ddt')

    3、替换为正斜杠

    sys.path.append('c:/Users/mshacxiang/VScode_project/web_ddt')

     

    展开全文
  • 【ORACLE】Oracle提高篇之DECODE

    万次阅读 多人点赞 2018-10-17 00:16:44
    decode

    DECODE含义

    decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
    这个是decode的表达式,具体的含义解释为:

    IF 条件=1 THEN
        RETURN(翻译值1)
    ELSIF 条件=2 THEN
        RETURN(翻译值2)
        ......
    ELSIF 条件=值n THEN
        RETURN(翻译值n)
    ELSE
        RETURN(缺省值)
    END IF
    

    DECODE的用法

    这里主要说的就是decode的用法,在很多时候这个函数还是很有用的。

    1.翻译值

    数据截图:
    在这里插入图片描述
    需求:查询出的数据,1表示男生,2表示女生

    select t.id,
           t.name,
           t.age,
           decode(t.sex, '1', '男生', '2', '女生', '其他') as sex
      from STUDENT2 t
    
    

    结果:
    在这里插入图片描述

    2.decode比较大小

    说明:sign(value)函数会根据value的值为0,正数,负数,分别返回0,1,-1
    数据:
    在这里插入图片描述
    需求:年龄在20以上的显示20以上,20以下的显示20以下,20的显示正好20

    select t.id,
           t.name,
           t.age,
           decode(sign(t.age - 20),
                  1,
                  '20以上',
                  -1,
                  '20以下',
                  0,
                  '正好20',
                  '未知') as sex
      from STUDENT2 t
    
    

    结果:
    在这里插入图片描述

    3.decode分段

    数据暂无
    需求:工资大于5000为高薪,工资介于3000到5000为中等,工资小于3000为底薪

    select name,
           sal,
           decode(sign(sal - 5000),
                  1,
                  '高薪',
                  0,
                  '高薪',
                  -1,
                  decode(sign(sal - 3000), 1, '中等', 0, '中等', -1, '低薪')) as salname
      from person;
    

    结果暂无

    4.搜索字符串

    数据:
    在这里插入图片描述
    需求:找到含有三的姓名

    select t.id,
           decode(instr(t.name, '三'), 0, '姓名不含有三', '姓名含有三') as name,
           t.age,
           t.sex
      from STUDENT2 t
    

    结果:
    在这里插入图片描述

    5.判断是否为空

    数据:
    在这里插入图片描述
    需求:性别为空显示“暂无数据”,不为空原样输出

    select t.id,
           t.name,
           t.age,
           decode(t.sex,NULL,'暂无数据',t.sex) as sex
      from STUDENT2 t
    

    结果:
    在这里插入图片描述

    总结:decode在书写sql的时候还是挺有用的,常用的应该是1和5了吧(我猜的,因为我就是经常用这两种)

    展开全文
  • 成功解决Python3版UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 614: ordinal not in 目录 解决问题 解决过程 解决方法 解决问题 UnicodeDecodeError: 'ascii' codec can't ...
  • Oracle decode函数

    万次阅读 多人点赞 2019-09-01 12:54:20
    一 两种语法格式 ...1 decode(expression,value,result1,result2) 如果expression=value,则输出result1,否则输出result2 例子: (1+2=3,输出a) (1+2≠4,输出b) 2 decode(expre...
  • DECODE用法

    万次阅读 2019-06-26 10:44:22
    语法如下: DECODE(value, if1, then1, if2,then2, if3,then3, . . . else ) eg:DECODE(VALUE,‘0’,‘1’,‘2’) 若value为0,则为1,否则为2
  • decode函数

    千次阅读 2019-03-20 16:04:30
    在工作中,经常遇到,读取一个文件,或者是从网页获取一个问题,明明看着是gb2312的编码,可是当使用decode转时,总是出错,这个时候, 可以使用decode(‘gb18030′)这个字符集来解决,如果还是有问题,这个时候,...
  • 0x00 问题引出: 最近在做一个买房自动化分析Python脚本,需要爬取网页。 在使用urllib获取reqest的response的时候,还要进行编码转换。...UnicodeDecodeError: 'utf-8' codec can't decode byte 0x
  • DECODE函数

    2019-01-08 03:58:59
    DECODE函数相当于一条件语句(IF),它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则...
  • AttributeError: ‘str‘ object has no attribute ‘decode

    万次阅读 多人点赞 2019-06-03 09:58:59
    print("Response:", resp.text.decode('unicode_escape')) 解决办法: print("Response:", resp.text.encode('utf-8').decode('unicode_escape')) 中间加上.encode('utf-8')即可。 问题原因: python3里面,...
  • 最近写了一个Python小程序,用来统计...UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xa1 in position 0: invalid start byte 后来经过不断查找终于找到了解决办法。 由于我在程序中设定文件打开的...
  • decode用法

    千次阅读 2018-10-26 14:48:47
    decode(value,if1,then1,if2,then2,if3,then3,...,else) 含义为 if 条件=值1 then  return(value 1) else if条件=值2 then  return(value 2)  ...... else if 条件=值n then  return(value 3) else  return...
  • 废话不多说,直接上代码 ...DROP FUNCTION IF EXISTS `urlDecode`$$ CREATE FUNCTION `urlDecode`(original_text TEXT CHARSET utf8mb4) RETURNS TEXT CHARSET utf8mb4 BEGIN DECLARE new_text TEXT DEFAULT ...
  • Tensorflow crf_decode 和 viterbi_decode 的使用 看tensorflow的文档,说明 viterbi_decode 和 crf_decode 实现了相同功能,前者是numpy的实现,后者是 tensor 的实现,本文为了验证两者的解码结果是一致的。 ...
  • 验证Nginx 是否自动进行url decode,下面进行实验: 编写nginx.conf reference: 使用Nginx代理S3时,需要禁用URL解码。 如何避免Nginx将url decode end
  • ‘utf-8’ codec can’t decode byte 0xff in position 0: invalid start byte觉得有用的话,欢迎一起讨论相互学习~Follow Me今天使用语句image_raw_data_jpg = tf.gfile.FastGFile('../test_images/test_1.jpg', 'r'...
  • HttpUtility.UrlDecode Server.UrlDecode 区别 在对URL进行编码时,该用哪一个?这两都使用上有什么区别吗? 测试: string file="文件上(传)篇.doc"; string Server_UrlEncode=Server.UrlEncode(file)...
  • 今天,练习一个通过读取...在读取Walden.txt文本时,出现了“UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence”错误提示。 错误的意思是:Unicode的解码(Dec
  • Oracle 中 decode 函数用法

    万次阅读 多人点赞 2018-07-23 16:44:43
    Oracle 中 decode 函数用法 含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN  RETURN(翻译值1) ELSIF 条件=值2 THEN  RETURN(翻译值2)  ...... ...
  • Oracle DECODE

    2013-07-17 23:22:05
    Oracle DECODE函数功能很强,下面就为您详细介绍Oracle DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解。 Oracle DECODE函数 Oracle DECODE函数是Oracle公司独家提供的功能,它是一个功能很强的...
  • 某些加密参数在传递过程中,由于可能会有“+”出现,这是直接去urldecode.decode的话,“+”会变成“ ”(空格),进而无法解密, 解决方法: 1,双方协商好,是否需要url编码 2,先urlencode.encode一下,然后在...
  • oracle之decode

    千次阅读 2019-05-31 20:47:04
    decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值) 需求:查询出的数据,1表示男生,2表示女生 select t.id, t.name, t.age, decode(t.sex, '1', '男生', '2', '女生', '其他') as sex from STUDENT2...
  • 数据库的数据如果存的是实体的话,读取显示的时候就需要用到这两个...所以就用htmlspecialchars_decode这个好了 。可是这两个有什么区别呢?html_entity_decode(PHP 4 >= 4.3.0, PHP 5)html_entity_decode — Convert
  • DB2 DECODE函数

    千次阅读 2017-12-01 17:37:44
    DB2 DECODE函数的用法: 在查询数据,需要进行条件判断时,一般我们使用CASE...WHEN实现,当判断条件为相等时,除了使用CASE...WHEN实现,还可以使用DECODE函数。若要使用like、>、 DECODE()使用方法:  decode...
  • ORACLE decode

    千次阅读 2011-01-14 11:45:00
    ORACLE decode
  • decode函数的几种用法详解

    万次阅读 多人点赞 2018-08-13 10:39:32
    decode的几种用法1:使用decode判断字符串是否一样 DECODE(value,if1,then1,if2,then2,if3,then3,...,else) 含义为 IF 条件=值1 THEN  RETURN(value 1) ELSIF 条件=值2 THEN  RETURN(value 2)  ...... ELSIF 条件=...
  • Oracle中decode函数用法解析以及常用场景

    万次阅读 多人点赞 2019-04-02 16:41:04
    1.decode函数的两种形式 第一种形式 含义解释: decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN  RETURN(翻译值1) ELSIF 条件=值2 THEN  RETURN(翻译值2)  ......

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 73,462
精华内容 29,384
关键字:

decode