MySQL數據庫——使用數據處理函數

函數,大家肯定都瞭解,SQL支持利用函數來處理數據,函數一般是在數據上執行的,他給數據的轉換和處理提供了方便 。

但是需要說明,函數的移植性沒有SQL語句好,但是使用起來很有效,所以如果決定了使用函數,應該保證好代碼註釋,以便以後其他人都能知道所編寫的SQL代碼的意義。

part 1 文本處理函數
我們其實已經見過一個文本處理函數了,就是我們去掉空格的那個函數。
這裏我們再看一個例子:

SELECT vend_name, Upper(vend_name) AS vend_upcase FROM vendors ORDER BY vend_name;

這裏 vend_name 在原始列中本身是小寫的,現在由於我們使用了文本函數的原因,他將變成大寫。

這裏列出常用的文本處理函數:

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

part 2 日期和時間處理函數

一般來說,應用程序不適用用來存儲日期和時間的格式,因此日期和時間函數總是被用來讀取、統計和處理這些值。由於這個原因,日期和時間處理函數格外重要!

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

我們一定要注意MySQL的日期格式,無論什麼時候制定一個日期,必須完成格式yyyy-mm-dd 比如 2005-09-04

還有,請遵行一個好的習慣,如果是日期,請使用Date()!:

SELECT cust_id, order_num FROM orders WHERE Date(order_date) = '2005-09-01';
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章