有時從資料庫表中獲取到的資料須要進行一些處理。
如將小寫字母替換為對應的大寫字母。這個處理過程能夠在客戶機上進行。也能夠在資料庫上進行。
資料庫上進行會更高效。資料庫中有對應的資料處理函式來處理這些資料,可是在sql中使用特殊的資料處理函式會減少其可移植性。不同的dbms系統,其資料處理函式不同。
大多數的sql支援下面型別的函式
樣例:將某一列字元轉換為大寫字元
經常使用文字處理函式
函式說明
left()
返回串左邊的字元
length()
返回串的長度
locate()
找出串的乙個子串
lower()
將串轉換為小寫
ltrim()
去掉串左邊的空格
right()
返回串右邊的字元
rtrim()
去掉串右邊的空格
soundex()
返回串的soundex值
substring()
返回子串的字元
upper()
將串轉換為大寫
soundex()函式。找出發音類似的串。如因為拼寫錯誤,在表中記錄了發音相似的名字。這時假設使用like或者其它的匹配搜尋並不高效。
使用soundex()會方便非常多。
例如以下樣例。真是名字為 y.lee,可是表中存放的名字為y.lie,假設使用匹配搜尋會發現搜尋不到,這時能夠使用soundex()函式:
經常使用日期和時間處理函式
函式說明adddate()
新增乙個日期(天、周)
addtime()
新增乙個時間(時。分)
curdate()
返回當前日期
curtime()
返回當前時間
date()
返回日期時間的日期部分
datediff()
計算兩個日期之差
date_add()
高度靈活的日期計算函式
date_format
返回乙個格式化的日期或字串
day()
返回乙個日期的天數部分
dayofweek()
對於乙個日期返回相應的星期幾
hour()
返回乙個時間的小時部分
minute()
返回乙個時間的分鐘部分
month()
返回乙個時間的月份部分
now()
返回當前日期
second()
返回乙個時間的秒部分
time()
返回乙個日期時間的時間部分
year()
返回乙個日期的年份部分
簡單的時間對照:
搜尋出乙個月的訂單;
可是有時不想去算這個月究竟有多少天,則能夠實現例如以下:
數值處理函式僅處理數值資料。這些函式一般用於代數、三角或者幾何運算。
經常使用數值處理函式例如以下
函式說明abs()
返回乙個數的絕對值
cos()
返回乙個角度的余弦
exp()
返回乙個數的指數值
mod()
返回除操作的餘數
pi()
返回圓周率
rand()
返回乙個隨機數
sin()
返回乙個角度的正弦
sqrt()
返回乙個數的平方根
tan()
返回乙個數的正切
以下是乙個正切的樣例:
MySQL資料處理函式
有時從資料庫表中獲取到的資料需要進行一些處理。如將小寫字母替換為相應的大寫字母。這個處理過程可以在客戶機上進行,也可以在資料庫上進行。資料庫上進行會更高效。資料庫中有相應的資料處理函式來處理這些資料,但是在sql中使用特殊的資料處理函式會降低其可移植性。不同的dbms系統,其資料處理函式不同。大多數...
mysql資料處理與函式
大綱 列的別名 concat 函式 算術運算 字元處理函式 日期時間函式 數值處理函式 聚集函式 1.列的別名 就像人的外號一樣,列有時候不太好理解或者列名太長,可以給它起別名 如何使用呢?使用關鍵字 as as關鍵字為可選引數,因此可以省略 2.concat 函式含義 將多個字串連線成乙個字串 括...
資料處理函式
資料處理函式 1,計算字串長度 主流資料庫系統都提供了計算字串長度的函式,在mysql oracle db2中這個函式 名稱為length,而在mssqlserver中這個函式的名稱則為len。這個函式接受乙個字串類 型的字段值做為引數,返回值為這個字串的長度。下面的sql語句計算每乙個名稱不為空 ...