习惯性朴实简单!一起学习MySQL常见单行函数,字符数学日期流程控制
文章目錄
- 一、字符函數(shù)
- 二、數(shù)學(xué)函數(shù)
- 三、日期函數(shù)
- 四、其他函數(shù)
- 五、流程控制函數(shù)
一、字符函數(shù)
1、大小寫控制函數(shù)
①UPPER():轉(zhuǎn)換成大寫
SELECT UPPER('Hello');②LOWER():轉(zhuǎn)換成小寫
SELECT LOWER('Hello');2、字符控制函數(shù)
①LENGTH():獲取參數(shù)值的字節(jié)個(gè)數(shù)
SELECT LENGTH('葉綠體不忘呼吸aaaa');
②CONCAT():拼接字符串
③SUBSTR():截取(MySQL里索引是從1開始的,而不是0)
#從第4個(gè)開始截取,截取后面全部 SELECT SUBSTR('我相信光',4); #從第1個(gè)開始截取,截取3個(gè) SELECT SUBSTR('我相信光',1,3);④INSTR():返回子串在主串中第一次出現(xiàn)的索引,如果不存在,則返回0
SELECT INSTR('國(guó)足10月13日客戰(zhàn)沙特','沙特') AS result;⑤TRIM():去除字符串前后某字符
SELECT TRIM('a' FROM 'aaaaa葉aa綠體aaaaa') AS result; #去空格 SELECT TRIM(' 葉aa綠體a ') AS result;⑥LPAD():用指定的字符左填充指定長(zhǎng)度,RPAD()則是右填充
SELECT LPAD('葉綠體',9,'a') AS result;
⑦REPLACE():替換
二、數(shù)學(xué)函數(shù)
①ROUND():四舍五入
#默認(rèn)保留一位小數(shù) SELECT ROUND(1.62) AS result; #保留兩位小數(shù) SELECT ROUND(1.627,2) AS result;②CEIL():向上取整,返回大于等于該數(shù)的最小整數(shù)
SELECT CEIL(1.002) AS result;③FLOOR():向下取整,返回小于等于該數(shù)的最大整數(shù)
SELECT FLOOR(1.002) AS result;④TRUNCATE():截?cái)?/p> SELECT TRUNCATE(1.699,1) AS result;
⑤MOD():取余,等價(jià)于%
SELECT MOD(10,-3) AS result;三、日期函數(shù)
①NOW():返回當(dāng)前系統(tǒng)的日期和時(shí)間
②CURDATE():返回當(dāng)前系統(tǒng)日期,不包含時(shí)間
③CURTIME():返回當(dāng)前系統(tǒng)時(shí)間,不包括日期
⑦YREAR():獲取指定日期字段的年
⑧MONTH():獲取指定日期字段的月,MONTHNAME()則可以返回月份英文
日,小時(shí),分鐘,秒鐘都可以同上
⑨STR_TO_DATE():將字符按照指定的格式轉(zhuǎn)為日期
#相當(dāng)于是解析:兩個(gè)參數(shù)格式要匹配 SELECT STR_TO_DATE('9-30 2021','%m-%d %Y') AS result;
⑩DATE_FORMAT():將日期轉(zhuǎn)換成字符
四、其他函數(shù)
#查看版本 SELECT VERSION(); #查看數(shù)據(jù)庫 SELECT DATABASE(); #查看用戶 SELECT USER();五、流程控制函數(shù)
①IF():判斷,第一個(gè)參數(shù)是條件,第二個(gè)是true的返回,第三個(gè)是false的返回
SELECT IF(10>5,'大','小') AS result;
②CASE()使用一:類似于Java中switch
示例
#示例為要顯示的值,不加‘;’ SELECT `last_name`,`salary`,`department_id`, CASE `department_id` WHEN 100 THEN `salary`*(1+0.8) WHEN 90 THEN `salary`*(1+0.6) WHEN 80 THEN `salary`*(1+0.4) WHEN 70 THEN `salary`*(1+0.2) ELSE `salary` END AS 最終工資 FROM employees;③CASE()使用一:類似于Java中多重if
CASE WHEN 條件1 THEN SELECT 語句1;或者要顯示的值1 ... ELSE 語句;或者要顯示的值 END示例
#示例為要顯示的值,不加‘;’ SELECT `last_name`,`salary`, CASE WHEN `salary`>20000 THEN 'A級(jí)別' WHEN `salary`>15000 THEN 'B級(jí)別' WHEN `salary`>10000 THEN 'C級(jí)別' ELSE 'D級(jí)別' END AS 等級(jí) FROM employees;總結(jié)
以上是生活随笔為你收集整理的习惯性朴实简单!一起学习MySQL常见单行函数,字符数学日期流程控制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 朴实!简单!依你所好,MySQL排序查询
- 下一篇: iPhone13会有快充吗iPhone1