詳細(xì)學(xué)習(xí)四種函數(shù)分類

一、函數(shù)定義:MySQL中內(nèi)置了函數(shù),我們子啊使用MySQL的時(shí)候可以直接調(diào)用程序和代碼x

二、函數(shù)分類:1、字符串函數(shù) 2、數(shù)值函數(shù) 3、日期函數(shù) 4、流程函數(shù)

1、字符串函數(shù)

常用字符串函數(shù): concat lower upper Lpad? Rpad trim substring????

常見字符串函數(shù)

應(yīng)用:

常見字符串應(yīng)用

注:

Lpad注意依次順序?yàn)椋?、對什么字符串進(jìn)行填充 2、填充長度是多少-用數(shù)字表示 3、用什么字符串來填充)?

substring注意(1、對什么字符串切割 2、對第幾個(gè)進(jìn)行切割,算上空格,一個(gè)空格算一個(gè)? 3、切割幾個(gè) 如下實(shí)例

2、數(shù)值函數(shù)

ceil:向上取整????

floor:向下取整

mod:除以,看余數(shù)

rand:算出來0~1之間的隨機(jī)數(shù)

round:四舍五入

應(yīng)用:

ceil 向上取整


floor向下取整
MOD 為3/4取余 這里余3

注:若 select mod(5,4);余數(shù)為1 核心看余數(shù)


0~1隨機(jī)取數(shù)
round四舍五入,包括(2.548,2),2指的保留兩位小數(shù)
這里保留三位小數(shù),四舍五入

練習(xí):

通過數(shù)據(jù)庫函數(shù),生成一個(gè)六位數(shù)隨機(jī)驗(yàn)證碼

注意:這里rand*100w,用round函數(shù)取整(0位小數(shù)),用lpad補(bǔ)足到6位數(shù)(如需)

3、日期函數(shù)

curdate():返回當(dāng)前日期(年月日)

curtime(): 返回當(dāng)前時(shí)間(時(shí)分秒)

now(): 當(dāng)前日期和時(shí)間(年月日時(shí)分秒)

year(date): 獲取指定date年份

month(date):獲取指定date月份

day(date):獲取指定date的日期

date_add:當(dāng)前時(shí)間往后間隔的時(shí)間

datediff:兩個(gè)指定時(shí)間之間相差的天數(shù)

應(yīng)用:

curdate
curtime
now
year (指定date的年份)
year(指定date的年份)
當(dāng)前時(shí)間年月日add往后間隔70天/年...
兩個(gè)時(shí)間之間間隔時(shí)間,這里是730天

練習(xí):查詢所有員工入職天數(shù),并且根據(jù)入職天數(shù)倒敘排序

這里核心思路:當(dāng)前時(shí)間-入職時(shí)間

注意點(diǎn):

1)當(dāng)前時(shí)間函數(shù):curdate() ,注意有括號

2)嵌套datediff(curdate(),entrydate)

3)把 curdate(),entrydate 起別名 entrydays

4)order by entrydays desc

4、流程控制函數(shù)


流程函數(shù)常見的四種函數(shù)
if函數(shù)三個(gè)參數(shù)(值1:是true,則返回值二,否則返回值三)注意值1是個(gè)條件表達(dá)式
ifnull函數(shù)兩個(gè)參數(shù)(若值1不是空值,則返回值1,否則返回值2
null 和'null'不一樣

查詢emp工作表中員工姓名和工作地址,北京上海一線城市,其他為二線城市

case when then when then...else end

注:

第一步 select name, workaddress from emp

第二步 根據(jù)需求把工作地址北京上海----一線城市 其他二線城市 即case workaddress when '上海' then '一線城市' ....

第三步起別名,如下圖


練習(xí)


注意:這段寫了很多遍,總是報(bào)錯(cuò),核心問題點(diǎn)在于

1)每列之間沒有寫逗號

2)括號寫成中文符合---sql需要英文符號

3)記得流程函數(shù) case when then else end 最后需要有end

4)第三列四列五列需要有逗號,每列由復(fù)雜函數(shù)組成


5、四類函數(shù)總結(jié)===理解每個(gè)函數(shù)的意義

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容