Mysql 函数使用记录(二)——ELT()、FIELD()、IFN…
2018-06-17 23:39:55来源:未知 阅读 ()
昨天在对一业务修改的过程中想到用DECODE()来实现效果,转眼发现目前使用的是Mysql库,经过查阅,最终用ELT()、FIELD()、IFNULL()函数来实现需求。现对其做一个记录。
语法:
ELT(n,str1,str2,str3,...) :如果n=1,则返回str1,如果n=2,则返回str2,依次类推。如果n小于1或大于参数个数,返回NULL。ELT()是FIELD()的功能补充函数。
mysql> SELECT ELT(3,'hello','halo','test','world'); +--------------------------------------+ | ELT(3,'hello','halo','test','world') | +--------------------------------------+ | test | +--------------------------------------+ 1 row in set mysql>
FIELD(str,str1,str2,str,str3,str4...):返回str 在后面的参数列(str1,str2,str,str3,str4...)中的索引,起始索引为1。如果未在参数列中发现str 则返回0。
mysql> SELECT FIELD('halo','hello','halo','test','world'); +---------------------------------------------+ | FIELD('halo','hello','halo','test','world') | +---------------------------------------------+ | 2 | +---------------------------------------------+ 1 row in set mysql>
IFNULL(expr1,expr2):如果expr1是NULL,则返回expr2,如果expr1不是NULL,则返回expr1。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。
mysql> SELECT IFNULL(NULL,8); +----------------+ | IFNULL(NULL,8) | +----------------+ | 8 | +----------------+ 1 row in set mysql> SELECT IFNULL('hello','world'); +-------------------------+ | IFNULL('hello','world') | +-------------------------+ | hello | +-------------------------+ 1 row in set mysql> SELECT IFNULL(null,'world'); +----------------------+ | IFNULL(null,'world') | +----------------------+ | world | +----------------------+ 1 row in set mysql>
应用:
如:订单记录中存储了该订单的来源类型编码,现需将其来源名称在页面列表中展示,来源信息并未单独建表存储,现需将查询语句做出修改以达到目的:
在Oracle中我们可以用decode()函数来获取到来源名称:decode(条件,值1,返回值1,值2,返回值2...,缺省值);
在Mysql中呢,我们需要ELT()、FIELD()来实现,必要的时候还会用到IFNULL()来实现最终效果。对于上述需求,我们可以采取以下sql来实现:
SELECT *,IFNULL(ELT(FIELD(type,'1','2','3','4'),'来源A','来源B','来源C','来源D'),'未知') name from order;
记录完毕!^_^~
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:mysql主从配置详解(图文)
- MySQL replace函数怎么替换字符串语句 2020-03-09
- PHP访问MySQL查询超时怎么办 2020-03-09
- mysql登录时闪退 2020-02-27
- MySQL出现1067错误号 2020-02-27
- mysql7.x如何单独安装mysql 2020-02-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash