MySQL—函数的使用
一、函數(shù)的使用
MySQL中提供了大量函數(shù)來簡(jiǎn)化用戶對(duì)數(shù)據(jù)庫的操作,比如字符串的處理、日期的運(yùn)算、數(shù)值的運(yùn)算等等。使用函數(shù)可以大大提高SELECT語句操作數(shù)據(jù)庫的能力,同時(shí)也給數(shù)據(jù)的轉(zhuǎn)換和處理提供了方便。 (在sql中使用函數(shù))
函數(shù)只是對(duì)查詢結(jié)果中的數(shù)據(jù)進(jìn)行處理,不會(huì)改變數(shù)據(jù)庫中數(shù)據(jù)表的值。MySQL中的函數(shù)主要分為單行函數(shù)和多行函數(shù)兩大類,下面我們將詳細(xì)講解這兩大類函數(shù)。
二、單行函數(shù)
單行函數(shù)是指對(duì)每一條記錄輸入值進(jìn)行計(jì)算,并得到相應(yīng)的計(jì)算結(jié)果,然后返回給用戶,也就是說,每條記錄作為一個(gè)輸入?yún)?shù),經(jīng)過函數(shù)計(jì)算得到每條記錄的計(jì)算結(jié)果。
常用的單行函數(shù)主要包括字符串函數(shù)、數(shù)值函數(shù)、日期與時(shí)間函數(shù)、流程函數(shù)以及其他函數(shù)。
舉例:
舉例
從運(yùn)行 結(jié)果可以看到:
lower(ename),upper(ename) 改變每一條數(shù)據(jù),–單行函數(shù)
常用的單行函數(shù)
1、字符串函數(shù)
substring:字符串截取,2:從字符下標(biāo)為2開始,截取長(zhǎng)度3起,始位置為從1開始
2、數(shù)值函數(shù)
select abs(-5),ceil(5.3),floor(5.9),round(3.14) from dual; -- dual:偽表 select abs(-5) as 絕對(duì)值,ceil(5.3) as 向上取整,floor(5.9) as 向下取整,round(3.14) as 四舍五入; --3、日期和時(shí)間函數(shù)
select now(),sysdate(),sleep(3),now(),sysdate() from dual4、流程函數(shù)
4.1、if 相關(guān)
4.2、case相關(guān)
select empno,ename,sal, casewhen sal<1000 then 'A'when sal<2000 then 'B'when sal<3000 then 'C'else 'D' end '工資等級(jí)', deptno from emp;5、其他函數(shù)
select database(),user(),version() from dual;查看數(shù)據(jù)庫名、用戶、mysql的版本
三、多行函數(shù)
多行函數(shù)是指對(duì)一組數(shù)據(jù)進(jìn)行運(yùn)算,針對(duì)這一組數(shù)據(jù)(多行記錄)只返回一個(gè)結(jié)果,也稱為分組函數(shù)。
1、多行函數(shù)
select max(sal),min(sal),count(sal),sum(sal),avg(sal) from emp;從運(yùn)行結(jié)果看到:
max(sal),min(sal),count(sal),sum(sal),avg(sal):多條數(shù)據(jù),最終展示一條數(shù)據(jù) --多行函數(shù)
2、多行函數(shù)會(huì)自動(dòng)忽略null值
原表:
查詢后結(jié)果
3、max(),min(),count():針對(duì)所有類型 sum(),avg()只針對(duì)數(shù)值類型有效
4、count()函數(shù):統(tǒng)計(jì)表的記錄數(shù)
方式1:
一般用count(*)統(tǒng)計(jì)記錄數(shù),因?yàn)楸碇械钠渌侄慰赡転榭?/strong>,
select count(*) from emp;
方式2:
select count(1) from emp:查詢表中有多少記錄,
總結(jié)
以上是生活随笔為你收集整理的MySQL—函数的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL—表的完整性约束(外键约束)(
- 下一篇: MySQL—交叉连接、自然连接、内连接