微信小程序 nginx反向代理 excel clojure compilation x86 mono vue路由 bootstrap中文api文档 java通用版qq浏览器下载 webapp打包 python输出 python基础语法 python学习网站 python基础知识 python中集合 python基础代码 java集合 java学习文档 java中的注释 java调用接口 java文件删除 linux的find linuxsudo命令 如何强行退出小米账号 3dmax插件神器 网络文件服务器 识别音乐的软件 刷声望 dll下载 刷新页面 ansys安装教程 1667 pr动态字幕 unity3d中文版 抠图软件免费版 php随机数函数 极限防守图 脚本大师 操作系统安装
当前位置: 首页 > 学习教程  > 编程语言

MySQL基础——常见函数(单行函数)

2021/2/13 18:15:41 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

MySQL基础——常见函数(单行函数) MySQL中的函数 概念:类似于Java中的方法,将一组逻辑语句封装在方法体中,对外暴露方法名 好处:1.隐藏了实现细节,2.提高了代码的可重用性 调用: select 函数…

MySQL基础——常见函数(单行函数)

MySQL中的函数

概念:类似于Java中的方法,将一组逻辑语句封装在方法体中,对外暴露方法名

好处:1.隐藏了实现细节,2.提高了代码的可重用性

调用: select 函数名(实参列表) 【from 表】;

特点: 1.叫什么(函数名)
2.干什么(函数功能)

分类:
1.单行函数
如 concat,length,ifnull等
2.分组函数
功能:做统计使用,又称为统计函数,聚合函数,组函数

常见单行函数

一,字符函数

length 获取参数值的字节个数

SELECT LENGTH('john');
SELECT LENGTH('李平安');

concat 拼接字符串

SELECT CONCAT(last_name,'_',first_name) FROM employees;

upper,lower 字符大小写转换

SELECT UPPER('john');
SELECT LOWER('joHn');

示例:将姓变大写,名小写,然后拼接

SELECT CONCAT(UPPER(last_name),LOWER(first_name)) AS 姓名 FROM employees;

substr,substring 字符截取

注意:sql中索引从1开始

截取从指定索引处后面所有字符

SELECT SUBSTR('李莫愁爱上了陆湛远',7) AS out_put;

截取从指定索引处指定字符长度的字符

SELECT SUBSTR('李莫愁爱上了陆湛远',1,3) AS out_put;

案例:将姓名中首字符大写,其他字符小写,然后用—拼接显示出来

SELECT
  CONCAT (
    UPPER (SUBSTR (last_name, 1, 1)),
    '_',
    LOWER (SUBSTR (last_name, 2))
  )
FROM
  employees;

instr 返回子串第一次出现的索引,如果找不到则返回0

SELECT INSTR('杨不悔爱上了易柳霞','易柳霞') AS out_put

trim 去除字符左右两边的空格或指定字符

SELECT LENGTH(TRIM('  张翠山   ')) AS out_put;
SELECT TRIM('a' FROM 'aaaaaaaaa张翠aaaaaaaaaaaaaa山aaaaaaaaaaaaaaaaaa') AS out_put;

lpad 用指定字符实现左填充长度

SELECT LPAD('殷素素',10,'*') AS out_put;

rpad 用指定字符实现所右填充长度

SELECT RPAD('殷素素',10,'$') AS out_put;

replace 替换

SELECT REPLACE('张无忌爱上了周芷若周芷若周芷若','周芷若','赵敏') AS out_put;

二,数学函数

round 四舍五入

SELECT ROUND(1.4536);
SELECT ROUND(1.5243,2);

ceil 向上取整 返回>=该参数的最小整数

SELECT CEIL(1.00000052);

floor 向下取整 返回<=该参数的最大整数

SELECT FLOOR(9.999);

truncate 截断

SELECT TRUNCATE(1.65,1);

mod取余/取模

MOD(a,b) : a-a/b

SELECT MOD(10,3);
SELECT 10%3;

三,日期函数

now 返回当前系统日期+时间;

SELECT NOW();

curdate 返回当前系统日期,不包含日期

SELECT CURDATE();

curtime 返回当前时间,不包含日期

SELECT CURTIME();

获取指定的部分,年月日时分秒

SELECT YEAR(NOW()) AS;
SELECT YEAR('1998-1-1') AS;

SELECT YEAR(hiredate) ASFROM employees;
SELECT MONTH(NOW()) AS;
SELECT MONTHNAME(NOW()) AS;

str_to_date 将日期格式的字符转换为指定格式的日期

SELECT STR_TO_DATE('1912-3-4','%Y-%c-%d') AS out_put;

案例:查询入职日期为1992-4-3号的员工的信息

SELECT *  FROM employees WHERE hiredate = '1992-4-3';

SELECT * FROM employees WHERE hiredate = STR_TO_DATE('4-3 1992','%c-%d %Y');

date_format 将日期转换为字符

SELECT DATE_FORMAT(NOW(),'%Y年%c月%d日') AS DATE;

案例:查询有奖金的员工名和入职日期(xx月/xx日/xx年)

SELECT last_name,DATE_FORMAT(hiredate,'%m月/%d日/%Y年') AS 入职日期
FROM employees
WHERE commission_pct IS NOT NULL;

四,其他函数

SELECT VERSION();	#查询mysql版本
SELECT DATABASE();	#查询当前数据库
SELECT USER();		#查询user

if函数,相当于if else 的效果

SELECT IF(10>5,'大','小');
SELECT last_name,commission_pct,IF(commission_pct IS NULL,'没奖金,呵呵','有奖金,哈哈') AS 备注
FROM employees;

本文链接: http://www.dtmao.cc/news_show_700221.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?