MySQL數(shù)據(jù)處理函數(shù)

? 1、函數(shù) ??

?????? 與其他大多數(shù)計算機語言一樣,SQL支持利用函數(shù)來處理數(shù)據(jù)。函數(shù)一般是在數(shù)據(jù)上執(zhí)行的,它給數(shù)據(jù)的轉(zhuǎn)換和處理提供了方便。

1.使用函數(shù):

(1)用于處理文本串(如刪除或填充值,轉(zhuǎn)換值為大寫或小寫)的文本函數(shù)

(2)用于在數(shù)值數(shù)據(jù)上進行算術(shù)操作(如返回絕對值,進行代數(shù)運算)的數(shù)值函數(shù)。

(3)用于處理日期和時間值并從這些值中提取特定成分(例如,返回兩個日期之差,檢查日期有效性等)的日期和時間函數(shù)。

(4)返回DBMS正使用的特殊信息(如返回用戶登錄信息,檢查版本細節(jié))的系統(tǒng)函數(shù)。


??????????????????????????????????? 文本處理函數(shù)

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

本例子中vend_name出現(xiàn)了兩次是為了存儲值,第二次是作為列(vend_name_upcase)轉(zhuǎn)換為大寫。

這里 vend_name 在原始列中本身是小寫的,現(xiàn)在由于我們使用了文本函數(shù)的原因,他將變成大寫。

這里列出常用的文本處理函數(shù):

函數(shù)?????????????????????????????????????? 說明

Left()????????????????????????????????????? 返回串左邊的字符

Length()??????????????????????????????? 返回串的長度

Locate()??????????????????????????????? 找出串的一個字串

Lower()????????????????????????????? ?? 將串轉(zhuǎn)換為小寫

LTrim()????????????????????????????????? 去掉串左邊的空格

Right()?????????????????????????????? ?? 去掉串右邊的字符

RTrim()???????????????????????? ? ? ? ? 去掉串右邊的空格

Soundex()??????????????????????????? 返回串的SOUNDEX值(自行百度)###是一個將任何文本串轉(zhuǎn)化為描述其語音表示的字母數(shù)字模式的算法(超強大?。?!Soundex()能夠匹配所有發(fā)音類似的字符)

SubString()????????????????????????? 返回字串的字符

Upper()??????????????????????????????? 將串轉(zhuǎn)換為大寫

這里SOUNDEX需要做進一步解釋:SOUNDEX是將任何文本串轉(zhuǎn)換為描述其語音表示的模式算法,SOUNDEX考慮了類似的發(fā)音字符和音節(jié)。

舉個例子吧:

有個顧客的聯(lián)系名為Y.Lee,但這是輸入錯誤,此時應(yīng)該聯(lián)系Y.Lie才對,那我們該怎么辦呢?

SELECT cust_name, cust_contact FROM customers WHERE Soundex(cust_contact) = Soundex('Y.Lie');

這樣就能檢索出Y.Lee出來了。

???????????????????????????????? 日期和時間處理函數(shù)

應(yīng)用程序不適用用來存儲日期和時間的格式,因此日期和時間函數(shù)總是被用來讀取、統(tǒng)計和處理這些值。由于這個原因,日期和時間處理函數(shù)格外重要!

我們一定要注意MySQL的日期格式,無論什么時候制定一個日期,必須完成格式y(tǒng)yyy-mm-dd 比如 2005-09-04?

??????? SELECT cust_id, order_num FROM orders WHERE Date(order_date) = '2005-09-01';

函數(shù)??????????????????????????????????? 說明

AddDate() ??????????????? ? ? ? ? 增加一個日期(天、周等)

AddTime() ????????????? ? ? ???? 增加一個時間(時、分等)

CurDate() ?????????????????? ? ?? 返回當前日期

CurTime() ???????????????? ? ? ?? 返回當前時間

Date() ?????????????????????? ? ???? 返回日期時間的日期部分

DateDiff() ??????????????????????? 計算兩個日期之差

Date_Add() ??????????????????? 高度靈活的日期運算函數(shù)

Date_Format() ?????????????? 返回一個格式化的日期或時間串

Day() ????????????????????????????? 返回一個日日期的天數(shù)部分

DayOfWeek() ??????????????? 對于一個日期,返回對應(yīng)的星期幾

Hour() ??????????????????????????? 返回一個時間的小時部分

Minute() ?????????????????? ? ?? 返回一個時間的分鐘部分

Month() ????????????? ? ? ? ? ?? 返回一個日期的月部分

Now() ??????????????????????????? 返回點當前的日期和時間

Second() ???????????????????? 返回一個時間的秒部分

Time????????????????????? ? ? ?? 返回一個日期時間的時間部分

Year() ????????????????????????? 返回一個日期的年部分

??????????????????????????? 數(shù)值處理函數(shù)

Abs() ? 返回一個數(shù)的絕對值;

Cos() ? 返回一個角度的余弦

Sin() ? ?返回一個角度的正弦

Tan() ? 返回一個角度的正切

Exp() ? 返回一個數(shù)的指數(shù)值

Mod() ?返回除操作的余數(shù)

Pi() ? ? ? 返回圓周率

Rand() ?返回一個隨機數(shù)

Sqrt() ? 返回一個數(shù)的平方根

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容