mysql函數

一、字符串函數
(1)、計算字符串個數
語法:char_length(string)
例子:select char_length(user_name) from gonda;

(2)、計算字節長度
語法:length(string)
例子:select length(name) from student;

(3)、合併字符串函數
語法:concat(s1,s2) 默認不定義分割符號
舉例:select concat(user_id,user_name) from gonda;

語法:concat_ws('-',s1,s2)定義分割符-之後,自動分割
舉例:select concat_ws('-',user_id,user_name,old) from gonda;

(4)、替換字符串函數
語法:insert(s,2,4'fang') 將s字段中2後的4個字符,其中含了第二字符本身,用fang替換
舉例:select order_num,insert(order_num,2,4,'aa') from orders;

(5)、將字符大小寫轉換

將小寫轉換成大寫
語法:upper(s)
> select user_name,upper(user_name) from gonda;
語法:ucase(s)
> select user_name,ucase(user_name),lower(user_name) from gonda;

將大寫轉換稱小寫
語法:lower(s)
> select vend_state,lower(vend_state) from vendors;
語法:lcase(s)
> select vend_state,lcase(vend_state) from vendors;

二、時間日期函數
(1)、返回當前日期
語法:curdate()
> select vend_name,curdate() from vendors;
(2)、返回當前日期和時間
語法:now()
> select vend_name,now() from vendors;

(3)、以Unix時間戳形式返回當前時間
語法:unix_timestam(s)
> select unix_timestamp(order_date) from orders;

(4)、將Unix時間戳轉換稱普通的時間格式
語法:from_unixtime(s)
> select from_unixtime(old) from gonda where user_id='2222';

三、條件判斷函數
(1)、if(expr,v1,v2)函數,
如果表達式expr成立,則返回v1,否則返回v2
> select order_num,order_date,if(order_num < 20005,'yes','no') from orders;

(2)、ifnull(s1,v2)函數
如果s1字段值不爲空,就返回s1的值,否則返回v2的值
> select vend_id,ifnull(vend_state,'kong') from vendors;

(3)、case函數
語法:case when 表達式1 then '返回值1' when 表達式2 then '返回值2' else '返回值3' end 承載返回值模擬字段名稱
> select cust_id,order_num,case when order_num >=20008 then 'yes' when cust_id >=10004 then 'yes2' else 'fail..' end myname from orders;
order_nu>=20008 或者cust_id >=10004 只要滿足其中一個
滿足前者則返回yes 滿足後者顯示yes2,否則就顯示Fail..

四、系統信息函數
(1)、返回數據庫版本號
version()
> select version();


(2)、返回服務器的連接數
connection_id()
> select connection_id();

(3)、返回當前數據庫名
database()
> select database();

(4)、返回當前用戶名
user()
> select user();

五、加密函數
(1)、password()普通加密函數,此函數經常用來給mysql用戶加密,在mysql裏面用戶是不能存儲明文密碼的.
> select password('gongda');

(2)、md5(string) 加密
> select md5('gongda');

(3)、encode(str,passd_str) 函數可可以使用字串pass_str 來加密str ,加密的結果是一個二進制數,
必須使用blob類型字段來保存它
mysql> insert into aa values(encode('myname','aa'));
Query OK, 1 row affected (0.00 sec)

(4)、decode(str,passd_str)函數來解密encode加密的內容
> select decode(encode('myname','aa'),'aa');


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