日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL_常见函数

發(fā)布時間:2025/3/15 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL_常见函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

常見函數(shù):
類似于Java的方法,將一組邏輯語句封裝在方法體中,對外暴露方法名
好處:1.隱藏了實現(xiàn)細節(jié) 2.提高代碼的重用性
調(diào)用:select函數(shù)名(實參列表)[from 表];
length
concat
substr
instr
trim
upper
lower
lpad
rpad
replace
數(shù)學函數(shù)
round
ceil
floor
truncate
mod
日期函數(shù)
now
curdate
。。。。
其他函數(shù)
控制函數(shù)
一、字符函數(shù)
#1.length 獲取參數(shù)值的字節(jié)數(shù)

SELECT LENGTH('john'); SELECT LENGTH('張三豐hahaha'); SHOW VARIABLE LIKEchar%

(一個英文占一個字節(jié),一個漢字占三個字節(jié))

#2. concat 拼接字符串

SELECT concat(last_name,'_',first_name) 姓名 FROM emplyees;

#3. uper、lower

SELECT UPPER('john'); SELECT LOWER('john');

#示例:將姓變大寫,名變大寫,然后拼接

SELECT concat(UPPER('last_name'),LOWER('first_name')) 姓名 from employees;

函數(shù)可以嵌套函數(shù)

#4. substr、substring

注意:SQL的索引是從1開始的。 #截取從指定索引處后面所有字符 SELECT SUBSTR('李莫愁愛上陸展元',6) out_put;

輸出

了陸展元 #截取從指定索引處指定字符長度的字符 SELECT SUBSTR('李莫愁愛上陸展元',13) out_put;

輸出:

李莫愁

#案例:姓名中首字符大寫,其他字符小寫然后用_拼接,顯示出來

SELECT CONCAT(UPPER(SUBSTR(last_name,1,1)),'_',LOWER(SUBSTR(last_name,2))) out_put FROM employees;

#5.instr 返回字串第一次出現(xiàn)的索引,如果找不到就返回0

SELECT INSERT('楊不悔愛上了殷六俠','殷六俠') AS out_put FROM employees;

#6.trim 刪除字符前后的空格

SELECT TRIM(' 張翠山 ') AS out_put; SELECT TRIM('a' FROM 'aaaaa張aaaaa翠山aaaaaa') AS out_put;

輸出:

張aaaaa翠山

#7. lpad 用指定的字符實現(xiàn)左填充指定長度

SELECT LPAD('殷素素',10,'*') AS out_put;

#8. rpad 用指定的字符實現(xiàn)右填充指定長度

SELECT RPAD('殷素素',12,'AB') AS out_put;

#9. replace 替換

SELECT('張無忌愛上了周芷若',‘周芷若’,‘趙敏’) AS out_put;

二、數(shù)學函數(shù)
#1.round 四舍五入

SELECT ROUND(1.65); //小數(shù)點后面取兩位 SELECT ROUND(1.5672);

#2.ceil 向上取整,返回>=該參數(shù)的最小整數(shù)

SELECT CEIL(-1.02);

#floor 向下取整,返回<=該參數(shù)的最大整數(shù)
#truncate 截斷
SELECT TRUNCATE(1.699999,1);
#mod 取余
mod(a,b) : a-a/b*b
(被除數(shù)為正則值為正,被除數(shù)為負則值為負)

三、日期函數(shù)
#now 返回當前系統(tǒng)日期+時間
SELECT NOW();
#curdate 返回當前系統(tǒng)是、日期,不包含時間
#curtime 返回當前時間,不包含日期
#可以獲取指定的部分,年、月、日、小時、分鐘、秒

SELECT YEAR(NOW());

#查詢?nèi)肼毴掌跒?992-4-3的員工信息

SELECT * FROM employees WHERE hiredate='1992-4-3';

#str_to_date將字符通過指定的格式轉換成日期
#date_format 將日期轉換為字符
四、其他函數(shù)
SELECT VERSION();
SELECT DATABASE();
SELECT USER();
五、流程控制函數(shù)
#1.if函數(shù) : if else 的效果
#2.case函數(shù)的使用一:switch case的效果
Java中:
switch(變量或表達式){
case 常量1:語句1;break;

default:語句n;break;
}
mysql中
case 要判斷的字段或表達式
when 常量1 then 要顯示的值1或語句1
when 常量2 then 要顯示的值2或語句2

else 要顯示的值n或語句n;

#案例:查詢員工的工資,要求
部門號=30,顯示的工資為1.1倍
部門號=40,顯示的工資為1.2倍
其他部門顯示工資為原工資

SELECT salary 原始工資,department_id, CASE department_id WHEN 30 THEN salary*1.1 WHEN 40THEN salary*1.2 ELES salary END AS 新工資 FROM employees;

#case函數(shù)的使用二,類似于多重if
Java中:
if(條件1){
語句1;
}elseif(條件2){
語句2;}

else{
語句n}

mysql中
case
when 條件1 then 要顯示的值1或語句1
when 條件2 then 要顯示的值2或語句2

when 條件n then 要顯示的值n或語句n;
end
#案例:查詢員工的工資情況
如果工資>2000,顯示a級別
如果工資>1000,顯示b級別
否則,顯示c級別

SELECT salary, CASE WHEN salary>2000 THEN 'a' WHEN salary>1000 THEN 'b' ELSE 'c' END AS 工資級別 FROM employees;

總結

以上是生活随笔為你收集整理的MySQL_常见函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。