mysql_單行函數(shù)

一. 函數(shù)的理解
1.什么是函數(shù)
它可以把我們經(jīng)常使用的代碼封裝起來, 需要的時(shí)候直接調(diào)用即可。這樣既提高了代碼效率 ,又提高了可維護(hù)性 。在 SQL 中我們也可以使用函數(shù)對檢索出來的數(shù)據(jù)進(jìn)行函數(shù)操作。使用這些函數(shù),可以極大地提高用戶對數(shù)據(jù)庫的管理效率 。
2.MySQL的內(nèi)置函數(shù)及分類
單行函數(shù) 、 聚合函數(shù)(或分組函數(shù))

1.操作數(shù)據(jù)對象?
2.接受參數(shù)返回一個(gè)結(jié)果?
3.只對一行進(jìn)行變換?
4.每行返回一個(gè)結(jié)果?
5.可以嵌套?
6.參數(shù)可以是一列或一個(gè)值

二.數(shù)值函數(shù)
1.字符函數(shù)
concat????拼接
substr????截取子串
upper????轉(zhuǎn)換成大寫
lower????轉(zhuǎn)換成小寫
trim????去前后指定的空格和字符
ltrim????去左邊空格
rtrim????去右邊空格
replace????替換
lpad????左填充
rpad????右填充
instr????返回子串第一次出現(xiàn)的索引
length ????獲取字節(jié)個(gè)數(shù)
2.數(shù)學(xué)函數(shù)
round???? 四舍五入
rand ????隨機(jī)數(shù)
floor????向下取整
ceil????向上取整
mod????取余
truncate????截?cái)?/p>
3.日期函數(shù)
now????當(dāng)前系統(tǒng)日期+時(shí)間
curdate????當(dāng)前系統(tǒng)日期
curtime????當(dāng)前系統(tǒng)時(shí)間
str_to_date ????將字符轉(zhuǎn)換成日期
date_format????將日期轉(zhuǎn)換成字符

4.流程控制函數(shù)
IF(value,value1,value2) ????如果value的值為TRUE,返回value1, 否則返回value2
IFNULL(value1, value2) ????如果value1不為NULL,返回value1,否 則返回value2
CASE WHEN 條件1 THEN 結(jié)果1 WHEN 條件2 THEN 結(jié)果2 .... [ELSE resultn] END?
相當(dāng)于Java的if...else if...else
CASE expr WHEN 常量值1 THEN 值1 WHEN 常量值1 THEN 值1 .... [ELSE 值n] END
相當(dāng)于Java的switch...case...
在這里,只是寫到了開發(fā)中常用的函數(shù);
角度與弧度互換函數(shù)、三角函數(shù)、指數(shù)與對數(shù)、進(jìn)制間的轉(zhuǎn)換、加密與解密函數(shù) 等等,這些函數(shù)在實(shí)際開發(fā)中很少用到,了解即可。

三.練習(xí)