Mysql常用函數(shù)

COUNT()

COUNT(column_name) #返回指定列的值的數(shù)目(NULL不計(jì)入)
COUNT(*) #返回表中的記錄數(shù)
COUNT(DISTINCT column_name) #返回指定列的不同值的數(shù)目

-- 查詢(xún)客戶(hù)信息中不重復(fù)的密碼個(gè)數(shù)
SELECT COUNT(DISTINCT password) FROM customer

AVG()

返回?cái)?shù)值列的平均值。NULL值不包括在計(jì)算中,即使是中文或者字符串也能計(jì)算
語(yǔ)法:AVG(column_name)AVG(DISTINCT column_name)

-- 查詢(xún)積分平均值,結(jié)果參考:511.00145755597015
SELECT AVG(integral) FROM customer
SELECT AVG(DISTINCT integral) FROM customer

MAX()

返回一列中的最大值。NULL值不包括在計(jì)算中,也可用于字符列
語(yǔ)法:MAX(column_name)

SELECT MAX(integral) FROM customer
SELECT MAX(username) FROM customer

注意:使用max函數(shù)查詢(xún)一個(gè)字符串類(lèi)型的整數(shù)數(shù)據(jù)時(shí),因?yàn)樽址?lèi)型大小比較是先比較首字符,然后依次往后進(jìn)行比較。如id列的數(shù)據(jù):10000,9999。使用max查出來(lái)的最大值并不是10000,而是9999。
解決方法:max(id+0)

MIN()

返回一列中的最小值。NULL值不包括在計(jì)算中,也可用于字符列
語(yǔ)法:MIN(column_name)

SELECT MIN(integral) FROM customer
SELECT MIN(username) FROM customer

SUM()

返回?cái)?shù)值列的總數(shù)(總額)
語(yǔ)法:SUM(column_name)

-- 結(jié)果參考:2191174.25
SELECT SUM(integral) FROM customer

LOAD_FILE()

讀入文件并且作為一個(gè)字符串返回文件內(nèi)容,后面的路徑可以是單引號(hào)、0x、char轉(zhuǎn)換的字符。文件無(wú)法找到,路徑不完整,沒(méi)有權(quán)限,長(zhǎng)度大于max_allowed_packet會(huì)返回null
語(yǔ)法:LOAD_FILE(file_name)

SELECT LOAD_FILE('C:/Windows/win.ini')

CAST()

將字段(或表達(dá)式)轉(zhuǎn)換成指定類(lèi)型,type的取值如下:
BINARY[(N)]、CHAR[(N)]
DECIMAL、SIGNED [INTEGER]
TIME、UNSIGNED [INTEGER]
DATE、DATETIME
語(yǔ)法:CAST(expr AS type)

-- 根據(jù)積分值排序(將varchar類(lèi)型的double數(shù)據(jù)轉(zhuǎn)換成小數(shù)再進(jìn)行排序)
SELECT * from customer ORDER BY CAST(integral AS DECIMAL)

CONVERT()

將字段(或表達(dá)式)轉(zhuǎn)換成指定類(lèi)型,type的取值同上
語(yǔ)法:CONVERT(expr,type)

-- 查詢(xún)指定用戶(hù)的積分的排名位置
SELECT count(*) from customer where integral <=
(SELECT integral from customer where mobile = '180XXXX')
 ORDER BY CONVERT(integral,DECIMAL)

UUID()

返回生成一個(gè)UUID值,前三組數(shù)字從時(shí)間戳中生成,第四組數(shù)字暫時(shí)保持時(shí)間戳的唯一性,第五組數(shù)字是一個(gè)IEEE 802節(jié)點(diǎn)標(biāo)點(diǎn)值,保證空間唯一。使用UUID函數(shù),可以生成時(shí)間、空間上都獨(dú)一無(wú)二的值

-- 24ee26ad-fdaa-11e7-9abf-000c29c5d936 (36位)
SELECT UUID()
-- ac08e2cefdac11e79abf000c29c5d936 (32位)
SELECT UUID()  SELECT REPLACE(UUID(),'-','') AS id

IF()

expr1為條件,如果expr1 == true,輸出(或執(zhí)行)expr2,否則輸出expr3
語(yǔ)法:IF(expr1,expr2,expr3)

-- A
SELECT IF(2,'A','B') 
-- B
SELECT IF(FALSE,'A','B')

ISNULL()

如果expr不是NULL,ISNULL(expr)為false,如果使用select ISNULL(expr),輸出0
如果expr是NULL,ISNULL(expr)為true,如果使用select ISNULL(expr),輸出1
判斷空值也可使用is null
語(yǔ)法:ISNULL(expr)

-- 如果查詢(xún)某個(gè)字段為NULL則返回0,否則返回該字段值
SELECT IF (ISNULL(column_name), 0 ,column_name)

IFNULL()

如果expr1為NULL,則輸出expr2,如果expr1不為NULL,則輸出expr1。
效果與CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同
語(yǔ)法:IFNULL(expr1,expr2)

-- A
SELECT IFNULL(NULL,'A')

NULLIF()

如果expr1 = expr2,那么返回值為NULL,否則返回值為expr1
語(yǔ)法:NULLIF(expr1,expr2)

-- NULL
SELECT NULLIF(1,1)
-- 2
SELECT NULLIF(2,1)

INET_ATON()

返回一個(gè)代表該地址數(shù)值的整數(shù),參數(shù)為一個(gè)作為字符串的網(wǎng)絡(luò)地址的"點(diǎn)地址"。
在存儲(chǔ)由INET_ATON()產(chǎn)生的值時(shí),推薦你使用INT UNSIGNED列(表示范圍更大)
INET_ATON(n1.n2.n3.n4),數(shù)字按照 n1×2^24 + n2×2^16 + n3×2^8 + n4 進(jìn)行計(jì)算

-- 4294967295
SELECT INET_ATON('255.255.255.255')
-- 2130706433
SELECT INET_ATON('127.0.0.1')
-- 2130706433
SELECT INET_ATON('127.1')

INET_NTOA()

給定一個(gè)數(shù)字網(wǎng)絡(luò)地址(4或8比特),返回作為字符串的該地址的點(diǎn)地址表示
語(yǔ)法:INET_NTOA(expr)

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

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

  • 一、數(shù)學(xué)函數(shù) ABS(x) 返回x的絕對(duì)值 BIN(x) 返回x的二進(jìn)制(OCT返回八進(jìn)制,HEX返回十六進(jìn)制) ...
    ernest128閱讀 334評(píng)論 0 0
  • 原文:https://blog.csdn.net/sugang_ximi/article/details/6664...
    凱??词澜?/span>閱讀 308評(píng)論 0 0
  • ECharts的使用相對(duì)于D3來(lái)說(shuō)要簡(jiǎn)單,使用起來(lái)也很方便,但是D3并沒(méi)有很成熟的三維圖表做法,很多人說(shuō)D3對(duì)三維...
    尤樊容閱讀 4,325評(píng)論 0 1
  • 一一警鐘長(zhǎng)鳴之生命花 安全長(zhǎng)談常常談,警鐘長(zhǎng)鳴常常鳴! 案例一 莫斯...
    嘯天_c400閱讀 387評(píng)論 0 0
  • 一無(wú)戒365訓(xùn)練營(yíng)極限挑戰(zhàn)第47天 第二十九節(jié) 又一個(gè)月過(guò)去了,天氣炎熱起來(lái),人們都換上了七彩斑斕的夏裝。胳膊腿兒...
    流花河閱讀 404評(píng)論 6 5

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