Mysql下scott用户练习表创建003(函数/方法的使用) 后续有相关数据库练习语句

DQL字符串函数

lower(字段名):将字段名大写转换成小写
length(字段名):显示字段的长度
lpad(字段名,长度,'替补符号'):追加数据,左补位
rpad(字段名,长度,'替补符号'):追加数据,右补位
ltrim():去除左空格
rtrim():去除右空格
replace():替换
substr():截取

-- 将ename字段名大写转换成小写

SELECT LOWER(ename) FROM emp;

-- 显示字段长度

SELECT LOWER(ename),LENGTH(ename) FROM emp;

-- 使用lpad函数对ename追加数据,长度为8,位数不够使用#在左面替补

SELECT LOWER(ename),LENGTH(ename),LPAD(ename,8,'#') FROM emp;


-- 使用rpad函数对ename追加数据,长度为8,位数不够使用#在右面替补

SELECT LOWER(ename),LENGTH(ename),LPAD(ename,8,'#'),RPAD(ename,8,'#') FROM emp;

-- 使用ltrim去除左面空格

SELECT LOWER(ename),LENGTH(ename),LPAD(ename,8,'#'),RPAD(ename,8,'#'),LTRIM('     123    ') FROM emp;

-- 使用rtrim去除右面空格

SELECT LOWER(ename),LENGTH(ename),LPAD(ename,8,'#'),RPAD(ename,8,'#'),RTRIM('     123    ') FROM emp;

-- 使用replace将ename字段中所有的S替换成@

SELECT LOWER(ename),LENGTH(ename),LPAD(ename,8,'#'),RPAD(ename,8,'#'),RTRIM('     123    '),REPLACE(ename,'S','@') FROM emp;

-- 使用sunstr将ename字段从第一个字符到第三个字符进行截取

SELECT LOWER(ename),LENGTH(ename),LPAD(ename,8,'#'),RPAD(ename,8,'#'),RTRIM('     123    '),REPLACE(ename,'S','@'),SUBSTR(ename,1,3) FROM emp;

DQL数值型函数(借助伪表dual操作,所谓的伪表是mysql数据库提供的并不是真实存在的表)

abs():绝对值
floor():向下取整
ceil():向上取整
round():四舍五入

-- 使用abs求值

SELECT ABS(-10) FROM DUAL;

-- 使用floor对浮点数进行向下取整

SELECT FLOOR(3.9) FROM DUAL;

-- 使用ceil对浮点数进行向上取整

SELECT CEIL(3.9) FROM DUAL;

-- 使用round对浮点数进行四舍五入

SELECT ROUND(3.6), ROUND(3.3) FROM DUAL;

DQL单行函数之日期函数

now():获取当前的系统的日期时间
EXTRACT():提取日期中的年月日
CURRENT_DATE():提取年月日
CURRENT_TIME():提取时分秒
CURRENT_TIMESTAMP():提取时间戳
LAST_DAY():获取月份的最后一天

-- 查询日期

SELECT hiredate,NOW() FROM emp;

-- 查询当前系统的日期时间

SELECT hiredate,NOW() FROM emp;

-- 提取日期中的年

SELECT EXTRACT(YEAR FROM hiredate) FROM emp;

-- 提取日期中的月

SELECT EXTRACT(MONTH FROM hiredate) FROM emp;

-- 提取日期中的日

SELECT EXTRACT(DAY FROM hiredate) FROM emp;

-- 提取年月日,时分秒,时间戳

SELECT hiredate,CURRENT_DATE(),CURRENT_TIME(),CURRENT_TIMESTAMP() FROM emp;

-- 日期转换,指定显示格式

-- 显示英文月份

SELECT hiredate,DATE_FORMAT(hiredate,'%Y-%M-%D')FROM emp;

-- 显示与查询字段一致的时间

SELECT hiredate,DATE_FORMAT(hiredate,'%Y-%m-%d')FROM emp;

-- 显示中文年月日

SELECT hiredate,DATE_FORMAT(hiredate,'%Y年%m月%d日')FROM emp;

-- 显示中文年月日,时分秒

SELECT hiredate,DATE_FORMAT(hiredate,'%Y年%m月%d日 %H-%i-%s')FROM emp;

-- 显示中文当前系统的年月日,时分秒

SELECT hiredate,DATE_FORMAT(NOW(),'%Y年%m月%d日 %H时%i分%s秒')FROM emp;

-- 获取当前系统月份的最后一天

SELECT LAST_DAY(NOW());

-- 获取hiredate字段所有月份的最后一天

SELECT LAST_DAY(hiredate) FROM emp;

DQL其他函数

ifnull():替换空值
MD5():不可逆加密

-- 计算工资+奖金  会出现null的情况

SELECT sal + comm FROM emp;

-- 使用ifnull函数替换空值

SELECT sal + IFNULL(comm,0) FROM emp;

-- 将数字123456进行MD5加密

SELECT MD5("123456") FROM DUAL;

创建的多行函数

max:最大值
min:最小值
sum:求和
cont:求总数
avg:求平均值

-- 查找最高薪资

SELECT MAX(sal) FROM emp;

-- 查找最低薪资

SELECT MIN(sal) FROM emp;

-- 查找薪资总和

SELECT SUM(sal) FROM emp;

-- 查看员工总人数

SELECT COUNT(empno) FROM emp;

-- 查看工资的平均值

SELECT AVG(sal) FROM emp;

-- 查看入职最早的员工

SELECT MIN(hiredate) FROM emp;

-- 查看员工中谁的名字最大

SELECT MAX(ename)FROM emp;

-- 查看员工中谁的名字最小

SELECT MIN(ename)FROM emp;

-- 查看奖金总额

SELECT SUM(comm) FROM emp;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值