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

mysql decode 函数

 
阅读更多

     举例:
     oracle:

select decode(pay_name,'aaaa','bbb',pay_name),sum(comm_order),sum(suc_order),sum(suc_amount) From  payment.order_tab  group by decode(pay_name,'aaaaa','bbbb',pay_name)

转换成mysql:实现
 

select case when pay_name='aaa' then 'bbb' else pay_name end ,sum(comm_order),sum(suc_order),sum(suc_amount) From  payment.order_tab  group by case when pay_name='aaa' then 'bbb' else pay_name end 



     在mysql中有decode()是这样解释的:一种是加密,另外一种是比较
     在Oracle中:
     语法:DECODE(control_value,value1,result1[,value2,result2…] [,default_result]);control _value试图处理的数值。DECODE函数将该数值与后面的一系列的偶序相比较,以决定返回值。
value1是一组成序偶的数值。如果输入数值与之匹配成功,则相应的结果将被返回。对应一个空的返回值,可以使用关键字NULL于之对应
result1 是一组成序偶的结果值。
default_result 未能与任何一个值匹配时,函数返回的默认值。
例如:
selectdecode( x , 1 , ‘x is 1 ’, 2 , ‘x is 2 ’, ‘others’) from dual
当x等于1时,则返回‘x is 1’。
当x等于2时,则返回‘x is 2’。
否则,返回others’。
需要,比较2个值的时候,可以配合SIGN()函数一起使用。
SELECT DECODE( SIGN(5 -6), 1 'Is Positive', -1, 'Is Nagative', 'Is Zero')
同样,也可以用CASE实现: 

<ccid_nobr>
<ccid_code>SELECT CASE SIGN(5 - 6) 
            WHEN  1  THEN  'Is Positive'
            WHEN -1 THEN  'Is Nagative'
            ELSE 'Is Zero' END
            FROM DUAL

 

 

此外,还可以在Order by中使用Decode。
例如:表table_subject,有subject_name列。要求按照:语、数、外的顺序进行排序。这时,就可以非常轻松的使用Decode完成要求了。
select * from table_subject order by decode(subject_name, '语文', 1, '数学', 2, , '外语',3)(责任编辑:卢兆林)

分享到:
评论

相关推荐

    mysql 函数大全

    本文将深入探讨MySQL中的几个关键函数,包括`DECODE`函数以及日期和字符串之间的转换方法。 一、`DECODE`函数 在MySQL中,`DECODE`函数是一个非常实用的条件判断工具,它允许你在一个表达式中进行简单的if-then-...

    DECODE解码代码

    例如,MySQL没有内置的DECODE函数,但可以通过IF或CASE语句实现类似的功能。在SQL Server中,可以使用CASE表达式来达到相同的效果。 在实际开发中,理解并恰当使用DECODE函数可以提高代码的可读性和效率,特别是在...

    mysql常见函数介绍与案例解析.zip

    MySQL是一种广泛使用的开源关系型数据库管理系统,其丰富的函数集使得数据处理变得更加灵活高效。本资料主要涵盖MySQL中的常见函数,并通过案例解析来帮助你更好地理解和应用这些函数。 1. **字符串函数** - `...

    mysql与oracle差异总结

    MySql 中的 CASE WHEN 语句可以替换 DECODE 函数。MySql 中的 TEXT 等同于 Oracle 中的 LONG 函数。 13. 日期函数 MySql 中的 EXTRACT 函数可以提取日期的年、月、日等信息,而 Oracle 需要使用 TO_CHAR 函数来...

    mysql仿oracle的decode效果查询

    然而,MySQL并没有直接对应的`DECODE`函数,但可以通过其他方式实现类似的效果。本文将详细介绍如何在MySQL中模拟Oracle的`DECODE`函数,并探讨不同数据库系统中的查询差异。 首先,Oracle的`DECODE`函数可以理解为...

    Oracle用decode函数或CASE-WHEN实现自定义排序

    1. **DECODE函数** `DECODE`函数在Oracle中被广泛用于条件判断和值的替换。在自定义排序的场景下,我们可以根据字段值来指定对应的排序序号。例如,对于一个包含星期名的`DateStr`字段,我们想要按照特定顺序排序...

    MYSQL,SQLSERVER,ORACLE常用的函数

    根据提供的标题和描述,本文将详细介绍在MySQL、SQL Server以及Oracle数据库中常用的函数。这些函数主要分为几大类:字符串处理函数、数值处理函数、日期处理函数、转换函数以及其他一些特殊用途的函数。 ### 字符...

    [数据库] MySQL基础知识之日期判断及添加排序序号1

    在Oracle中,DECODE函数可以用来处理分母为0的情况,但在MySQL中没有直接的DECODE函数。不过,我们可以使用CASE WHEN语句来实现相同功能。 例如,要计算"数学/英语"的比例,但避免除以0的错误,可以这样写: ```...

    Oracle与Mysql差异说明.doc

    3. DECODE 和 CASE WHEN:Oracle 的 DECODE 函数在条件判断中提供简洁的语法,但在 MySQL 中,你需要使用 CASE WHEN THEN END 结构来实现相同功能。 4. TO_DATE 和 STR_TO_DATE:Oracle 的 TO_DATE 函数将字符串...

    mysql速查表

    这份速查表中列举了最为常用的数据类型、数学函数、字符串函数以及一些基础的MySQL命令,虽然所列出的内容并非全部,但仍可作为初学者的起点。 在数据类型方面,MySQL支持多种数据类型用于存储不同的数据,包括整数...

    利用MySQL加密函数保护Web网站敏感数据的方法分享

    MySQL中的ENCODE()和DECODE()函数就是用于这种类型的加密。例如,在创建用户表并存储加密后的密码时,可以使用以下SQL语句: ```sql INSERT INTO users (username, password) VALUES ('joe', ENCODE('guessme', '...

    mysql字段加密

    MySQL 提供了两对可逆加密函数:AES_ENCRYPT 和 AES_DECRYPT,ENCODE 和 DECODE。其中,AES_ENCRYPT 和 AES_DECRYPT 的加密强度更高,因此我们选择使用 AES_ENCRYPT 和 AES_DECRYPT 实现加密。 插入数据 在插入...

    Oracle到mysql转换的问题总结.doc

    - `DECODE`函数:Oracle中的`DECODE`在MySQL中可以用`CASE WHEN`表达式替换。 - 分区窗口函数:Oracle的`ROW_NUMBER() OVER(PARTITION BY ... ORDER BY ...)`在MySQL中需通过用户变量实现,如示例所示。 6. 其他...

    php帮助文档,函数库

    `strpos()`查找字符串中某个字符或子串的位置,`array_push()`将元素添加到数组末尾,`file_get_contents()`读取文件内容,`mysqli_connect()`建立MySQL数据库连接,以及`json_encode()`和`json_decode()`处理JSON...

    Oracle到mysql转换的问题总结要点.doc

    - `DECODE`函数:Oracle的`DECODE`在MySQL中可以用`CASE WHEN`语句替代。 - 序列化函数:Oracle的`ROW_NUMBER() OVER(PARTITION BY ... ORDER BY ...)`在MySQL中需使用用户变量模拟,如示例所示。 - 行号`ROWNUM`...

    php+mysql编程

    在"常用的函数运用"中,我们将探讨PHP中的各种函数,如`htmlspecialchars`用于防止XSS攻击,`implode`和`explode`用于处理字符串,`json_encode`和`json_decode`用于JSON数据的编码和解码,以及`file_get_contents`...

    安卓网站交互JSONxmlWebserviceUPnP相关-PHP操作Mysql作为Android后台.rar

    在PHP中,可以使用json_encode和json_decode函数进行JSON数据的处理。 XML(Extensible Markup Language)则是另一种数据交换格式,它允许更复杂的结构化数据表示,通常用于更复杂的应用场景。在PHP中,有DOM、...

    Oracle到mysql转换的问题总结.docx

    - `DECODE`函数:Oracle的`DECODE`在MySQL中可用`CASE WHEN`表达式代替。 - 序列化函数:Oracle的`ROW_NUMBER() OVER(PARTITION BY ... ORDER BY ...)`, 在MySQL中可以使用用户变量和`IF`函数模拟实现。 例如,...

Global site tag (gtag.js) - Google Analytics