首页 > 数据库 >mysql decode()

mysql decode()

时间:2023-09-02 17:32:59浏览次数:46  
标签:name pay sum decode mysql order

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 未能与任何一个值匹配时,函数返回的默认值。
例如:
select decode( 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实现: 





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)

标签:name,pay,sum,decode,mysql,order
From: https://blog.51cto.com/u_16031739/7334086

相关文章

  • 12.mysql数据查询
    下面是一些MySQL数据库中的数据查询操作示例,包括单表查询和多表查询,以及相应的示例数据表。单表查询:假设我们有一个名为products的表,用于存储产品信息:CREATETABLEproducts(product_idINTPRIMARYKEY,product_nameVARCHAR(255),categoryVARCHAR(50),......
  • 9.mysql 高可用性和故障恢复
    当考虑在MySQL数据库中实现高可用性和故障恢复时,以下是更详细的步骤和策略:主从复制(Master-SlaveReplication):配置一个主数据库和多个从数据库。启用二进制日志(binarylog)和从数据库的复制功能。设置适当的复制方式(异步复制通常用于高可用性,但可能会有些许延迟)。使......
  • mysql监控和维护
    对MySQL进行监控和维护是确保数据库性能和稳定性的关键部分。以下是一些常见的MySQL监控和维护任务:1.监控工具和服务:MySQLWorkbench:这是MySQL官方提供的一款图形化管理工具,提供性能监控和诊断工具。PerconaToolkit:包括各种有用的工具,如pt-query-digest用于分析慢查询、p......
  • 【Mysql | 空值处理 】
    MySQL中,空值通常用于表示缺失或未定义的值。处理空值的关键在于理解空值与其他值之间的关系,以及如何使用不同的SQL函数来处理和转换空值。(空值处理)NULLValues(空值)MySQL使用SQLSELECT命令及WHERE子句来读取数据表中的数据,但是当提供的查询条件字段为NULL时,该......
  • centos查看mysql默认密码和修改密码
    1、查看mysql默认密码:grep‘temporarypassword’/var/log/mysqld.logroot@localhost:b_1sZou9FZrtb_1sZou9FZrt就是2、修改mysql密码:ALTERUSER‘root’@‘localhost’IDENTIFIEDBY‘newpassword’;‘newpassword’替换成你要设置的密码,注意:密码设置必须要大小写字母数......
  • mysql周week函数
    WEEK(date[,mode])WEEK()函数会返回一个日期的周数,第2个参数mode可以指定一周是从周日开始还是周一开始,以及返回值的范围是[0,53]还是[1,53],如果第2个参数缺失了,则使用系统变量default_week_format的值ModeFirstdayofweekRangeWeek1isthefirstweek…......
  • 泛微E-Office mysql_config.ini 数据库信息泄漏漏洞
    漏洞描述泛微E-Officemysql_config.ini文件可直接访问,泄漏数据库账号密码等信息漏洞复现fofa语法:app="泛微-EOffice"登录页面如下:验证POC:/mysql_config.ininuclei批量yaml文件id:EOffice_mysql_config_information_leakinfo:name:泛微OAE-Officemysql_config.i......
  • 关于windows定时任务备份mysql
    windows 定时一、右击我的电脑->选择管理->任务计划程序,打开计划任务二、开始创建任务计划。1、常规设置?都懂不再多说。2、触发器:新建->设置一个时间3、操作:新建->选择一个可执行程序,参数如果执行PHP备份mysql。首先mysql加入环境变量,直到mysql在命令行能执行如在path中新......
  • docker-compose教程:部署MySQL完整步骤
    目录结构root@localhostmysql#tree.├──conf│└──my.cnf├──db├──docker-compose.yml└──init└──init.sqldocker-compose.ymlversion:'2'services:mysql:#network_mode:"host" #将直接使用主机端口environment:......
  • MySQL binlog日志总结
    概念描述binlog日志:binlog日志用于记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。binlog可用于实时备份,主从复制master->slave的数据同步。知识总结binlog相关参数:log_bin:#开启binlog参数,可以指定......