注意:函數(shù)沒有SQL的可移植性強(qiáng)鹰服。相對來說东揣,多數(shù)SQL語句是可移植的议惰,在SQL實現(xiàn)之間有差異時慎颗,這些差異通常不那么難處理。而函數(shù)的可移植性卻不強(qiáng)言询。幾乎每種主要的DBMS的實現(xiàn)都支持其他實現(xiàn)不支持的函數(shù)俯萎,而且有時差異還很大。
文本處理函數(shù)
left 返回串左邊的字符
right 返回串右邊的字符
length 返回串的長度
locate 找出串的一個子串
lower 將串轉(zhuǎn)換為小寫
upper 將串轉(zhuǎn)換為大寫
ltrim 去掉串左邊的空格
rtrim 去掉串右邊的空格
trim 去掉串兩邊的空格
soundex 返回串的soundex值
substring 返回子串的字符
soundex是一個將任何文本串轉(zhuǎn)換為描述其語音表示的字母數(shù)字模式的算法运杭。soundex考慮了類似的發(fā)音字符和音節(jié)夫啊,使得能對串進(jìn)行發(fā)音比較而不是字母比較。
舉例:select cust_name, cust_contact from customers where soundex(cust_contact) = soundex('Y Lie');
日期處理函數(shù)
adddate() 增加一個日期(天辆憔、周等)
addtime() 增加一個日期(天撇眯、周等)
curdate() 返回當(dāng)前日期
curtime() 返回當(dāng)前時間
date() 返回日期時間的日期部分
datediff() 計算兩個日期之差
date_add() 高度靈活的日期運算函數(shù)
date_format() 返回一個格式化的日期或時間串
day() 返回一個日期的天數(shù)部分
dayofweek() 對于一個日期,返回對應(yīng)的星期幾
hour() 返回一個時間的小時部分
minute() 返回一個時間的分鐘部分
month() 返回一個時間的日期部分
now() 返回當(dāng)前日期和時間
second() 返回一個時間的秒部分
time() 返回一個日期時間的時間部分
year() 返回一個日期的年份部分
首先要注意的是mysql使用的日期格式虱咧。無論什么時候熊榛,日期必須為格式yyyy-mm-dd
。雖然其他的日期格式可能也行腕巡,但這是首選的日期格式玄坦,因為它排除了多義性。
舉例:select cust_id, order_num from orders where year(order_date) = 2005 and month(order_date) = 9;
說明:檢索出2005年9月下的所有訂單
數(shù)值處理函數(shù)
abs() 返回一個數(shù)的絕對值
cos() 返回一個角度的余弦
exp() 返回一個數(shù)的指數(shù)值
mod() 返回除操作的余數(shù)
pi() 返回圓周率
rand() 返回一個隨機(jī)數(shù)
sin() 返回一個角度的正弦
sqrt() 返回一個數(shù)的平方根
tan() 返回一個角度的正切
- MySQL必知必會