MySQL函數——MySQL系列(六)

1、函數

函數的可移植性不是很強,不同的DBMS有不同的函數

2、文本處理函數

函數 說明
Left() 返回串左邊的字符
Length() 返回串的長度
Locate() 找出串的一個子串
Lower() 將串轉換爲小寫
LTrim() 去掉串左邊的空格
Right() 去掉串右邊的空格
RTrim() 去掉右邊的空格
Soundex() 返回串的SOUNDEX值
SubString() 返回子串的字符
Upper() 將串轉換爲大寫
 關於Soundex()說明

考慮類似發音和類似字節,使串進行發音比較而不是字母比較

SELECT * FROM `user`
Where SOUNDEX(`name`)= SOUNDEX('Lee');
返回值

Lie

Lee

3、日期處理函數

(1)說明

函數 說明
AddDate() 增加一個日期(天、周等)
AddTime() 增加一個時間(時、分等)
CurDate() 返回當前日期
CurTime() 返回當前時間
Date() 返回日期時間的日期部分
Datediff(expr1,expr2) 計算兩個日期之差
Date_Add() 高度靈活的日期運算函數
Date_Format() 返回一個格式化的日期或時間串
Day() 返回一個日期的天數部分
DayofWeek() 對於一個日期返回對應的星期幾
Hour() 返回一個日期的小時部分
Minute() 返回一個日期的分鐘部分
Month() 返回一個日期的月份部分
Now() 返回當前日期和時間
Second() 返回一個日期的秒部分
Time() 返回一個日期時間的時間部分
Year() 返回一個日期的年份部分

(2)查某一天的數據

Select order_id FROM orders
Where Date(order_date)='2014-04-01'

或者

SELECT order_id FROM orders
Where order_date BETWEEN'2014-01-01 00:00:000' AND '2014-01-01 23:59:59.000'

返回2014-04-01日的訂單,注意錯誤的寫法如下,錯誤原因是一般數據庫中的日期都有時分秒,不可能完全等於一個日期

SELECT order_id FROM orders
Where order_date='2014-04-01'

(3)查某個月數據

SELECT order_id FROM orders
Where Date(order_date) BETWEEN
'2014-01-01' AND '2014-01-31'

或者

SELECT order_id FROM orders
Where Year(order_date)='2014'
AND Month(order_date)='01'

4、數值處理函數

函數 說明
Abs() 返回一個數的絕對值
Cos() 返回一個角度的餘弦
Exp() 返回一個數的指數值
Mod() 返回除操作的餘數
Pi() 返回圓周率
Rand() 返回一個隨機數
Sin() 返回一個角度的正弦
Sqrt() 返回一個數的平方根
Tan() 返回一個角度的正切


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章