1、函數
函數的可移植性不是很強,不同的DBMS有不同的函數
2、文本處理函數
| 函數 |
說明 |
| Left() |
返回串左邊的字元 |
| Length() |
返回串的長度 |
| Locate() |
找出串的一個子串 |
| Lower() |
將串轉換為小寫 |
| LTrim() |
去掉串左邊的空格 |
| Right() |
去掉串右邊的空格 |
| RTrim() |
去掉右邊的空格 |
| Soundex() |
返回串的SOUNDEX值 |
| SubString() |
返回子串的字元 |
| Upper() |
將串轉換為大寫 |
關於Soundex()說明
考慮類似發音和類似位元組,使串進行發音比較而不是字母比較
?
| 1 2 |
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)查某一天的資料
?
| 1 2 |
Select order_id FROM orders Where Date(order_date)='2014-04-01' |
或者
?
| 1 2 |
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日的訂單,注意錯誤的寫法如下,錯誤原因是一般資料庫中的日期都有時分秒,不可能完全等於一個日期
?
| 1 2 |
SELECT order_id FROM orders Where order_date='2014-04-01' |
(3)查某個月資料
?
| 1 2 3 |
SELECT order_id FROM orders Where Date(order_date) BETWEEN '2014-01-01' AND '2014-01-31' |
或者
?
| 1 2 3 |
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() |
返回一個角度的正切 |