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个字符,其中包含了第2个字符本身,用fang替换
举例:
select order_num,insert(order_num,2,4,’aa’) from orders;
(5)、将字符大小写转换
将小写转换成大写
语法:upper(string)
select user_name,upper(user_name) from gonda;
语法:ucase(string)
select user_name,ucase(user_name),lower(user_name) from gonda;
将大写转换称小写
语法:lower(string)
select vend_state,lower(vend_state) from vendors;
语法:lcase(string)
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(string)
select unix_timestamp(order_date) from orders;
(4)、将Unix时间戳转换称普通的时间格式
语法:from_unixtime(string)
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,s2)**函数
如果s1字段值为空,就返回s2,否则返回s2本身的值
如果s1字段值不为空,就返回s1本身的值,否则返回s2的值
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_num>=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(string)**普通加密函数,此函数经常用来给mysql用户加密,在mysql里面用户是不能存储明文密码的.
select password(‘gongda’);
(2)、md5(string) 加密
select md5(‘gongda’);
(3)、encode(str,passd_str) 函数可以使用字串pass_str 来加密str ,加密的结果是一个二进制数,必须使用blob类型字段来保存它
insert into aa values(encode(‘myname’,’aa’));
——用aa来加密内容myname
(4)、**decode(str,passd_str)**函数来解密encode加密的内容
select decode(encode(‘myname’,’aa’),’aa’);```
——–用aa来解密