Mysql单行函数
wptr33 2024-12-01 05:02 36 浏览
单行函数
MySQL数据库提供了很多函数包括:
数学函数;
字符串函数;
日期和时间函数;
条件判断函数;流程控制函数;
系统信息函数;
加密函数;
格式化函数;
1、数学函数
ABS(x)  | 返回x的绝对值  | 
CEIL(x)  | 返回大于x的最小整数值  | 
FLOOR(x)  | 返回大于x的最大整数值  | 
MOD(x,y)  | 返回x/y的模  | 
RAND(x)  | 返回0~1的随机值  | 
ROUND(x,y)  | 返回参数x的四舍五入地有y位的小数的值  | 
TRUNCATE(x,y)  | 返回数字x截断为y位小数的结果  | 
SQRT(x)  | 返回x的平方根  | 
POW(x,y)  | 返回x的y次方  | 
2、字符串函数
CONCAT(S1,S2,......,Sn)  | 连接S1,S2,......,Sn为一个字符串  | 
CONCAT(s, S1,S2,......,Sn)  | 同CONCAT(s1,s2,...)函数,但是每个字符串之间要加上s  | 
CHAR_LENGTH(s)  | 返回字符串s的字符数  | 
LENGTH(s)  | 返回字符串s的字节数,和字符集有关  | 
INSERT(str, index , len, instr)  | 将字符串str从第index位置开始,len个字符长的子串替换为字符串instr  | 
UPPER(s) 或 UCASE(s)  | 将字符串s的所有字母转成大写字母  | 
LOWER(s) 或LCASE(s)  | 将字符串s的所有字母转成小写字母  | 
LEFT(s,n)  | 返回字符串s最左边的n个字符  | 
RIGHT(s,n)  | 返回字符串s最右边的n个字符  | 
LPAD(str, len, pad)  | 用字符串pad对str最左边进行填充,直到str的长度为len个字符  | 
RPAD(str ,len, pad)  | 用字符串pad对str最右边进行填充,直到str的长度为len个字符  | 
LTRIM(s)  | 去掉字符串s左侧的空格  | 
RTRIM(s)  | 去掉字符串s右侧的空格  | 
TRIM(s)  | 去掉字符串s开始与结尾的空格  | 
TRIM(【BOTH 】s1 FROM s)  | 去掉字符串s开始与结尾的s1  | 
TRIM(【LEADING】s1 FROM s)  | 去掉字符串s开始处的s1  | 
TRIM(【TRAILING】s1 FROM s)  | 去掉字符串s结尾处的s1  | 
REPEAT(str, n)  | 返回str重复n次的结果  | 
REPLACE(str, a, b)  | 用字符串b替换字符串str中所有出现的字符串a  | 
STRCMP(s1,s2)  | 比较字符串s1,s2  | 
SUBSTRING(s,index,len)  | 返回从字符串s的index位置其len个字符  | 
3、日期时间函数
CURDATE() 或 CURRENT_DATE()  | 返回当前日期  | 
CURTIME() 或 CURRENT_TIME()  | 返回当前时间  | 
NOW() SYSDATE() CURRENT_TIMESTAMP() LOCALTIME() LOCALTIMESTAMP()  | 返回当前系统日期时间  | 
YEAR(date) MONTH(date) DAY(date) HOUR(time) MINUTE(time) SECOND(time)  | 返回具体的时间值  | 
WEEK(date) WEEKOFYEAR(date)  | 返回一年中的第几周  | 
DAYOFWEEK()  | 返回周几,注意:周日是1,周一是2,。。。周六是7  | 
WEEKDAY(date)  | 返回周几,注意,周1是0,周2是1,。。。周日是6  | 
DAYNAME(date)  | 返回星期:MONDAY,TUESDAY.....SUNDAY  | 
MONTHNAME(date)  | 返回月份:January,。。。。。  | 
DATEDIFF(date1,date2) TIMEDIFF(time1, time2)  | 返回date1 - date2的日期间隔 返回time1 - time2的时间间隔  | 
DATE_ADD(datetime, INTERVALE expr type)  | 返回与给定日期时间相差INTERVAL时间段的日期时间  | 
DATE_FORMAT(datetime ,fmt)  | 按照字符串fmt格式化日期datetime值  | 
STR_TO_DATE(str, fmt)  | 按照字符串fmt对str进行解析,解析为一个日期  | 
(1)DATE_ADD(datetime,INTERVAL expr type)
SELECT DATE_ADD(NOW(), INTERVAL 1 YEAR); SELECT DATE_ADD(NOW(), INTERVAL -1 YEAR); #可以是负数 SELECT DATE_ADD(NOW(), INTERVAL '1_1' YEAR_MONTH); #需要单引号  | |
表达式类型  | YEAR_MONTH  | 
YEAR  | DAY_HOUR  | 
MONTH  | DAY_MINUTE  | 
DAY  | DAY_SECOND  | 
HOUR  | HOUR_MINUTE  | 
MINUTE  | HOUR_SECOND  | 
SECOND  | MINUTE_SECOND  | 
(2)DATE_FORMAT(datetime ,fmt)和STR_TO_DATE(str, fmt)
格式符  | 说明  | 格式符  | 说明  | 
%Y  | 4位数字表示年份  | %y  | 表示两位数字表示年份  | 
%M  | 月名表示月份(January,....)  | %m  | 两位数字表示月份(01,02,03。。。)  | 
%b  | 缩写的月名(Jan.,Feb.,....)  | %c  | 数字表示月份(1,2,3,...)  | 
%D  | 英文后缀表示月中的天数(1st,2nd,3rd,...)  | %d  | 两位数字表示月中的天数(01,02...)  | 
%e  | 数字形式表示月中的天数(1,2,3,4,5.....)  | ||
%H  | 两位数字表示小数,24小时制(01,02..)  | %h和%I  | 两位数字表示小时,12小时制(01,02..)  | 
%k  | 数字形式的小时,24小时制(1,2,3)  | %l  | 数字形式表示小时,12小时制(1,2,3,4....)  | 
%i  | 两位数字表示分钟(00,01,02)  | %S和%s  | 两位数字表示秒(00,01,02...)  | 
%W  | 一周中的星期名称(Sunday...)  | %a  | 一周中的星期缩写(Sun.,Mon.,Tues.,..)  | 
%w  | 以数字表示周中的天数(0=Sunday,1=Monday....)  | ||
%j  | 以3位数字表示年中的天数(001,002...)  | %U  | 以数字表示年中的第几周,(1,2,3。。)其中Sunday为周中第一天  | 
%u  | 以数字表示年中的第几周,(1,2,3。。)其中Monday为周中第一天  | ||
%T  | 24小时制  | %r  | 12小时制  | 
%p  | AM或PM  | %%  | 表示%  | 
4、流程函数
IF(value,t ,f)  | 如果value是真,返回t,否则返回f  | 
IFNULL(value1, value2)  | 如果value1不为空,返回value1,否则返回value2  | 
CASE WHEN 条件1 THEN result1 WHEN 条件2 THEN result2 .... [ELSE resultn] END  | 相当于Java的if...else if...  | 
CASE expr WHEN 常量值1 THEN 值1 WHEN 常量值1 THEN 值1 .... [ELSE 值n] END  | 相当于Java的switch  | 
SELECT ename ,CASE WHEN salary>=15000 THEN '高薪' WHEN salary>=10000 THEN '潜力股' WHEN salary>=8000 THEN '屌丝' ELSE '草根' END FROM t_employee;  | |
SELECT oid,`status`, CASE `status` WHEN 1 THEN '未付款' WHEN 2 THEN '已付款' WHEN 3 THEN '已发货' WHEN 4 THEN '确认收货' ELSE '无效订单' END FROM t_order;  | 
相关阅读:
- 上一篇:《MySQL 入门教程》第 22 篇 窗口函数
 - 下一篇:数据库中的字符串拼接
 
相关推荐
- oracle数据导入导出_oracle数据导入导出工具
 - 
                        
关于oracle的数据导入导出,这个功能的使用场景,一般是换服务环境,把原先的oracle数据导入到另外一台oracle数据库,或者导出备份使用。只不过oracle的导入导出命令不好记忆,稍稍有点复杂...
 
- 继续学习Python中的while true/break语句
 - 
                        
上次讲到if语句的用法,大家在微信公众号问了小编很多问题,那么小编在这几种解决一下,1.else和elif是子模块,不能单独使用2.一个if语句中可以包括很多个elif语句,但结尾只能有一个...
 
- python continue和break的区别_python中break语句和continue语句的区别
 - 
                        
python中循环语句经常会使用continue和break,那么这2者的区别是?continue是跳出本次循环,进行下一次循环;break是跳出整个循环;例如:...
 
- 简单学Python——关键字6——break和continue
 - 
                        
Python退出循环,有break语句和continue语句两种实现方式。break语句和continue语句的区别:break语句作用是终止循环。continue语句作用是跳出本轮循环,继续下一次循...
 
- 2-1,0基础学Python之 break退出循环、 continue继续循环 多重循
 - 
                        
用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。比如计算1至100的整数和,我们用while来实现:sum=0x=1whileTrue...
 
- Python 中 break 和 continue 傻傻分不清
 - 
                        
大家好啊,我是大田。...
 
- python中的流程控制语句:continue、break 和 return使用方法
 - 
                        
Python中,continue、break和return是控制流程的关键语句,用于在循环或函数中提前退出或跳过某些操作。它们的用途和区别如下:1.continue(跳过当前循环的剩余部分,进...
 
- L017:continue和break - 教程文案
 - 
                        
continue和break在Python中,continue和break是用于控制循环(如for和while)执行流程的关键字,它们的作用如下:1.continue:跳过当前迭代,...
 
- 作为前端开发者,你都经历过怎样的面试?
 - 
                        
已经裸辞1个月了,最近开始投简历找工作,遇到各种各样的面试,今天分享一下。其实在职的时候也做过面试官,面试官时,感觉自己问的问题很难区分候选人的能力,最好的办法就是看看候选人的github上的代码仓库...
 
- 面试被问 const 是否不可变?这样回答才显功底
 - 
                        
作为前端开发者,我在学习ES6特性时,总被const的"善变"搞得一头雾水——为什么用const声明的数组还能push元素?为什么基本类型赋值就会报错?直到翻遍MDN文档、对着内存图反...
 
- 2023金九银十必看前端面试题!2w字精品!
 - 
                        
导文2023金九银十必看前端面试题!金九银十黄金期来了想要跳槽的小伙伴快来看啊CSS1.请解释CSS的盒模型是什么,并描述其组成部分。...
 
- 前端面试总结_前端面试题整理
 - 
                        
记得当时大二的时候,看到实验室的学长学姐忙于各种春招,有些收获了大厂offer,有些还在苦苦面试,其实那时候的心里还蛮忐忑的,不知道自己大三的时候会是什么样的一个水平,所以从19年的寒假放完,大二下学...
 
- 由浅入深,66条JavaScript面试知识点(七)
 - 
                        
作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061目录...
 
- 2024前端面试真题之—VUE篇_前端面试题vue2020及答案
 - 
                        
添加图片注释,不超过140字(可选)...
 
- 今年最常见的前端面试题,你会做几道?
 - 
                        
在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问...
 
- 一周热门
 
- 最近发表
 - 
- oracle数据导入导出_oracle数据导入导出工具
 - 继续学习Python中的while true/break语句
 - python continue和break的区别_python中break语句和continue语句的区别
 - 简单学Python——关键字6——break和continue
 - 2-1,0基础学Python之 break退出循环、 continue继续循环 多重循
 - Python 中 break 和 continue 傻傻分不清
 - python中的流程控制语句:continue、break 和 return使用方法
 - L017:continue和break - 教程文案
 - 作为前端开发者,你都经历过怎样的面试?
 - 面试被问 const 是否不可变?这样回答才显功底
 
 
- 标签列表
 - 
- git pull (33)
 - git fetch (35)
 - mysql insert (35)
 - mysql distinct (37)
 - concat_ws (36)
 - java continue (36)
 - jenkins官网 (37)
 - mysql 子查询 (37)
 - python元组 (33)
 - mybatis 分页 (35)
 - vba split (37)
 - redis watch (34)
 - python list sort (37)
 - nvarchar2 (34)
 - mysql not null (36)
 - hmset (35)
 - python telnet (35)
 - python readlines() 方法 (36)
 - munmap (35)
 - docker network create (35)
 - redis 集合 (37)
 - python sftp (37)
 - setpriority (34)
 - c语言 switch (34)
 - git commit (34)
 
 
