主頁(yè) > 知識(shí)庫(kù) > 詳解數(shù)據(jù)庫(kù)_MySQL: mysql函數(shù)

詳解數(shù)據(jù)庫(kù)_MySQL: mysql函數(shù)

熱門(mén)標(biāo)簽:網(wǎng)站排名優(yōu)化 AI電銷(xiāo) 百度競(jìng)價(jià)排名 地方門(mén)戶(hù)網(wǎng)站 服務(wù)外包 Linux服務(wù)器 鐵路電話系統(tǒng) 呼叫中心市場(chǎng)需求

一.內(nèi)置函數(shù)

1.數(shù)學(xué)函數(shù)

rand() round(num) ceil(num) floor(num)
隨機(jī) 四舍五入 向上取整 向下取整

2.字符串函數(shù)

length() 字節(jié)長(zhǎng)度
char_length() 字符長(zhǎng)度

ucase() 大寫(xiě)
lcase() 小寫(xiě)

concat(字符,…,字符n) 連接字符串

replace(字符串,舊字符,新字符)字符串替換

截取字符串
left(字符串,截取長(zhǎng)度)
right(字符串,截取長(zhǎng)度)
substring(字符串,開(kāi)始位置,截取長(zhǎng)度) #包含開(kāi)始位置

mysql> select left('123456',4);
+------------------+
| left('123456',4) |
+------------------+
| 1234    |
+------------------+
1 row in set (0.00 sec)

mysql> select right('123456',4);
+-------------------+
| right('123456',4) |
+-------------------+
| 3456    |
+-------------------+
1 row in set (0.00 sec)

mysql> select substring('123456',2,4); 
+-------------------------+
| substring('123456',2,4) |
+-------------------------+
| 2345     |
+-------------------------+
1 row in set (0.00 sec)

3.日期函數(shù)

now() unix_timestamp() from_unixtime()
當(dāng)前時(shí)間 時(shí)間戳 格式化時(shí)間戳

mysql> select now();
+---------------------+
| now()    |
+---------------------+
| 2019-03-16 14:55:42 |
+---------------------+
1 row in set (0.00 sec)

mysql> select unix_timestamp();
+------------------+
| unix_timestamp() |
+------------------+
|  1552719356 |
+------------------+
1 row in set (0.00 sec)

mysql> select from_unixtime(1552719356);
+---------------------------+
| from_unixtime(1552719356) |
+---------------------------+
| 2019-03-16 14:55:56  |
+---------------------------+
1 row in set (0.00 sec)

year() month() day() hour() minute() second()
時(shí)

mysql> select 
 -> year(now()) as '年',
 -> month(now()) as '月',
 -> day(now()) as '日',
 -> hour(now()) as '時(shí)',
 -> minute(now()) as '分',
 -> second(now()) as '秒';
+------+------+------+------+------+------+
| 年 | 月 | 日 | 時(shí) | 分 | 秒 |
+------+------+------+------+------+------+
| 2019 | 3 | 16 | 14 | 59 | 12 |
+------+------+------+------+------+------+

4.加密函數(shù)

md5(數(shù)據(jù))
password(數(shù)據(jù))

5.條件判斷函數(shù)

1).語(yǔ)法: if(數(shù)據(jù),值1,值2) #判斷指定數(shù)據(jù)是否為真:真-值1,假-值2

mysql> select if(null,1,2);
+--------------+
| if(null,1,2) |
+--------------+
|   2 |
+--------------+
1 row in set (0.00 sec)

mysql> select if(1,0,2);
+-----------+
| if(1,0,2) |
+-----------+
|   0 |
+-----------+
1 row in set (0.00 sec)

2).語(yǔ)法: IFNULL(數(shù)據(jù),值2) #判斷指定數(shù)據(jù)是否為null:null-值2,非null-本身

mysql> select ifnull(0,123);
+---------------+
| ifnull(0,123) |
+---------------+
|    0 |
+---------------+
1 row in set (0.00 sec)

mysql> select ifnull('a',123);
+-----------------+
| ifnull('a',123) |
+-----------------+
| a    |
+-----------------+
1 row in set (0.00 sec)

二.自定義函數(shù)

語(yǔ)法:

#修改結(jié)束符
delimiter //
create function 函數(shù)名(參數(shù)名 類(lèi)型,...,參數(shù)名n 類(lèi)型n) returns 返回?cái)?shù)據(jù)類(lèi)型
begin
#SQL語(yǔ)句
return 返回值;
end //
delimiter ;

#調(diào)用
select 函數(shù)名();

輸出"hello world"(不帶參數(shù)的函數(shù))

#判斷函數(shù)是否存在,存在就刪除
drop function if exists f1;

delimiter //
create function f1() returns varchar(30)
begin
 return 'hello world';
end //
delimiter ;

select f1();

+-------------+
| f1()  |
+-------------+
| hello world |
+-------------+

傳遞兩個(gè)整型求和(帶參數(shù)的函數(shù))

drop function if exists f2;

delimiter //

create function f2(num1 int, num2 int) returns int
begin
  return num1 + num2;
end //
delimiter ;

select f2(8, 2);

+----------+
| f2(8, 2) |
+----------+
|  10 |
+----------+

三.自定義函數(shù)相關(guān)語(yǔ)法

顯示所有的函數(shù):show function status\G #輸出的內(nèi)容很多

刪除函數(shù):drop function [if exists] 函數(shù)名;

四.存儲(chǔ)過(guò)程和函數(shù)的區(qū)別

存儲(chǔ)過(guò)程可以返回多個(gè)值,而自定義函數(shù)只能返回一個(gè)值

存儲(chǔ)過(guò)程一般獨(dú)立執(zhí)行,而函數(shù)往往作為其他SQL語(yǔ)句的一部分來(lái)使用

以上所述是小編給大家介紹的數(shù)據(jù)庫(kù)_MySQL: mysql函數(shù)詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • sql與各個(gè)nosql數(shù)據(jù)庫(kù)使用場(chǎng)景的講解
  • 數(shù)據(jù)庫(kù)語(yǔ)言分類(lèi)DDL、DCL、DML詳解
  • MySQL數(shù)據(jù)庫(kù)中CAST與CONVERT函數(shù)實(shí)現(xiàn)類(lèi)型轉(zhuǎn)換的講解
  • mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)
  • SQL SERVER 數(shù)據(jù)庫(kù)備份代碼實(shí)例
  • PostgreSQL數(shù)據(jù)庫(kù)中窗口函數(shù)的語(yǔ)法與使用
  • 如何合理使用數(shù)據(jù)庫(kù)冗余字段的方法
  • Mysql主從數(shù)據(jù)庫(kù)(Master/Slave)同步配置與常見(jiàn)錯(cuò)誤
  • PHP單例模式數(shù)據(jù)庫(kù)連接類(lèi)與頁(yè)面靜態(tài)化實(shí)現(xiàn)方法
  • 如何在一個(gè)千萬(wàn)級(jí)的數(shù)據(jù)庫(kù)查詢(xún)中提高查詢(xún)的效率?

標(biāo)簽:崇左 湘潭 黃山 仙桃 銅川 湖南 蘭州 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解數(shù)據(jù)庫(kù)_MySQL: mysql函數(shù)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266