mysql010函数使用.单行函数.多行函数
-- 函數(shù)使用
-- 1.單行函數(shù) 執(zhí)行QSL語(yǔ)句時(shí)候 分別產(chǎn)生了一條記錄影響的是多行。
-- 2.多行函數(shù) 執(zhí)行QSL語(yǔ)句時(shí)候 只產(chǎn)生一條結(jié)果
-- 自己理解:多行函數(shù),就是需要多條數(shù)據(jù)才能執(zhí)行的結(jié)果。
-- max() min() sum() avg() count()
SELECT ENAME,LOWER(ENAME),UPPER(ENAME) FROM emp;
SELECT MAX(sal) from emp;
SELECT * from emp;
-- 字符類型函數(shù)
SELECT ENAME,LOWER(ENAME),UPPER(ENAME),JOB,REPLACE(JOB,"CLERK","A") FROM emp;
SELECT ENAME,LOWER(ENAME),UPPER(ENAME),JOB,REPLACE(JOB,"CLERK","員工") FROM emp;
-- SUBSTRING(ENAME,2,3) 從第二個(gè)字符開(kāi)始,截取三個(gè)字符。
SELECT ENAME,SUBSTRING(ENAME,2,3) FROM emp;
-- 數(shù)值函數(shù)
-- 絕對(duì)值,向上取余,向下取余,四舍五入,取余數(shù),pi 2的n次方,開(kāi)方
SELECT ABS(-1),CEIL(3.2),FLOOR(3.9),ROUND(3.6),MOD(10,4),PI(),POW(2,5),SQRT(36) FROM emp;
-- 虛擬表
SELECT ABS(-1),CEIL(3.2),FLOOR(3.9),ROUND(3.6),MOD(10,4),PI(),POW(2,5),SQRT(36) FROM DUAL;
SELECT ABS(-1),CEIL(3.2),FLOOR(3.9),ROUND(3.6),MOD(10,4),PI(),POW(2,5),SQRT(36)
-- 日期函數(shù)
-- CURDATE()只含有年月日 CURTIME()只含有時(shí)分秒
-- NOW(),NOW(),SYSDATE(),CURRENT_DATE() 即含有年月日,又含有時(shí)分秒。
-- SLEEP(3)失眠3秒。
SELECT CURDATE(),CURTIME(),NOW(),SLEEP(3),NOW() FROM DUAL;
-- 提示:NOW(),SYSDATE()只有和sleep配合的使用,才會(huì)有區(qū)別,單純獲得年月日時(shí)分秒沒(méi)有區(qū)別
SELECT NOW(),SYSDATE(),SLEEP(3),NOW(),SYSDATE();
-- 流程函數(shù)
select * FROM emp;
-- 需求1 SAL>1500 A sal>1200 B sal >500 C else D
-- SAL>1500 A sal>1200 B sal >500 C else D
SELECT ENAME,SAL,
?????? case
????????????? WHEN SAL>=1500 THEN "A"
????????????? WHEN SAL>=1200 THEN "B"
????????????? WHEN SAL>=500 THEN "C"
????????????? ELSE "D"
?????? END as "薪資等級(jí)"
FROM emp;
-- 需求2 這個(gè)月收入=SAL+COMM? COMM=NULL +=NULL
SELECT ENAME,SAL,if(SAL>=1500,"高收入","低收入") AS "薪資等級(jí)" from emp;
-- 判斷當(dāng)前數(shù)是否為null,如果不是null,返回comm,否則返回0;
SELECT ENAME,SAL,COMM,SAL+IFNULL(COMM,0) FROM emp;
-- 其他函數(shù)
SELECT DATABASE(),USER(),VERSION(),INET_ATON('192.168.10.1'),INET_NTOA(23322248815)
-- 多行函數(shù),常用5個(gè),MAX(),MIN(),SUM(),AVG(),COUNT()
-- 最大值,最小值,求和,平均數(shù),總記錄數(shù)
-- sum avg 僅限于數(shù)值類型(整數(shù),浮點(diǎn)數(shù))
SELECT MAX(SAL),MIN(SAL),SUM(SAL),AVG(SAL),COUNT(SAL) FROM emp;
SELECT COUNT(*) FROM emp;
-- ()中內(nèi)容可以數(shù)據(jù)庫(kù)中任意一列,也可以是*,也可以使用1或者別的表示。
-- count(1) 這種執(zhí)行效率是最高的
SELECT COUNT(1) FROM emp;
-- 統(tǒng)計(jì)emp中有幾個(gè)崗位job
SELECT * FROM emp;
-- 可以先去重復(fù),然后在進(jìn)行統(tǒng)計(jì)
SELECT COUNT(DISTINCT JOB) FROM emp;
-- 多行函數(shù)進(jìn)行操作的時(shí)候,會(huì)自動(dòng)忽視null字段
SELECT SUM(COMM) FROM emp;
?
總結(jié)
以上是生活随笔為你收集整理的mysql010函数使用.单行函数.多行函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java学习(124):小综合案例
- 下一篇: linux cmake编译源码,linu