Mysql最常用的十大函数 |
您所在的位置:网站首页 › sql五个常用函数表达式 › Mysql最常用的十大函数 |
函数一:CONCAT 使用场景:查询时把多个字段拼接成一个字符串 select concat('id:',`id`,',name:',`name`) from `student`![]() 函数二:IFNULL 使用场景:查询时判断字段是否为空,如果为空则取第二个默认参数,不为空则取表中数据 SELECT IFNULL(`student_number`,'is null') FROM `sc_student`
![]() 函数三:COALESCE 使用场景:查询时判断字段是否为空,如果字段为空则取从第二个参数开始不为空的值,字段不为空则取表中数据 SELECT COALESCE(`student_number`,NULL,NULL,'is default') FROM `student`
![]() 函数四:REPLACE 使用场景:查询时替换字段中的指定字符 SELECT REPLACE(`name`,'陈小婷','小红') FROM `student`函数五:FIND_IN_SET 使用场景:指定字符在字段中是否存在,这类字段都有一个特点,就是会有多个值,以 ','(英文逗号)分隔 SELECT `id` , `name` , `score` from `student` where find_in_set ('100' , `score` )解 析:两个参数,第一个参数为查询的条件,第二个参数为需要匹配的字段;假设学生表有个字段 score 用来存三门课的分数,是以 ','(英文逗号分隔),这条语句就是查询学生表中有至少一门分数是100分的学生 id 和 name注 意:两个参数的先后顺序,经常容易写颠倒,最坑的是写颠倒了程序不报错... 函数六:CASE 使用场景:一张表中有 state 字段,取值为 0(禁用) 或 1(启用),但是想在查询结果中分别显示对应的中文汉字 SELECT `id` , `nickname` , `state` ,(CASE `state` WHEN 0 THEN '禁用' WHEN 1 THEN '启用' ELSE '其他' END ) `state_new` FROM `student`函数七:GROUP_CONCAT 使用场景:假如有一张产品表,一张产品标签表以及一张产品标签关联表,想查出每个产品对应的多个产品标签 id SELECT pi.id,GROUP_CONCAT( ptr.product_tag_id ) as tags FROM `product_info` pi LEFT JOIN `product_tag_rel` ptr ON pi.id = ptr.product_info_id GROUP BY pi.id解 析:查询每一个产品以及每一个产品对应的产品标签 id(产品标签 id 会以逗号分隔)注 意:分组 函数八:FROM_UNIXTIME 使用场景:时间戳转日期格式 SELECT `id` , FROM_UNIXTIME(`add_time`, '%Y-%m-%d %H:%i') FROM `student`
![]() 函数九:TIMESTAMPDIFF 使用场景:求出时间差 SELECT TIMESTAMPDIFF(SECOND , `create_time` , `update_time`) FROM `student` SELECT TIMESTAMPDIFF(SECOND,'2018-07-01 09:00:00','2018-07-04 12:00:00') FROM `student` |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |