MYSQL入门学习之七:MYSQL常用函数(三)

2014-11-24 16:32:53 · 作者: · 浏览: 3
| password('123456') |
+-------------------------------------------+
| *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-------------------------------------------+
mysql> select sha('123456');
+------------------------------------------+
| sha('123456') |
+------------------------------------------+
| 7c4a8d09ca3762af61e59520943dc26494f8941b |
+------------------------------------------+
六、控制流函数
MySQL有4个函数是用来进行条件操作的,这些函数可以实现SQL的条件逻辑,允许开发者将一些应用程序业务逻辑转换到 数据库后台。
MySQL控制流函数:
CASE WHEN[test1] THEN [result1]...ELSE [default] END 如果testN是真,则返回resultN,否则返回default
CASE [test] WHEN[val1] THEN [result]...ELSE [default] END 如果test和valN相等,则返回resultN,否则返回default
IF(test,t,f) 如果test是真,返回t;否则返回 f
IFNULL(arg1,arg2) 如果arg1不是空,返回arg1,否则返回arg2
NULLIF(arg1,arg2) 如果arg1=arg2返回NULL;否则返回arg1
示例:
mysql> select case 'sz' when 'sz' then 'shenzhen'
-> when 'gz' then 'guangzhou'
-> when 'xm' then 'xiamen'
-> else 'N/A' end;
+-----------------------------------------------------------
| case 'sz' when 'sz' then 'shenzhen'
when 'gz' then 'guangzhou'
when 'xm' then 'xiamen'
else 'N/A' end |
+-----------------------------------------------------------
| shenzhen
+-----------------------------------------------------------
mysql> select IF((sex=1),'male','female');
ERROR 1054 (42S22): Unknown column 'sex' in 'field list'
mysql> select IF((0=1),'male','female');
+---------------------------+
| IF((0=1),'male','female') |
+---------------------------+
| female |
+---------------------------+
七、格式化函数
DATE_FORMAT(date,fmt) 依照字符串fmt格式化日期date值
FORMAT(x,y) 把x格式化为以逗号隔开的数字序列,y是结果的小数位数
INET_ATON(ip) 返回IP地址的数字表示
INET_NTOA(num) 返回数字所代表的IP地址
TIME_FORMAT(time,fmt) 依照字符串fmt格式化时间time值
示例:
mysql> select format(1324.343633,2);
+-----------------------+
| format(1324.343633,2) |
+-----------------------+
| 1,324.34 |
+-----------------------+
mysql> select date_format(now(),'%Y-%m-%d');
+-------------------------------+
| date_format(now(),'%Y-%m-%d') |
+-------------------------------+
| 2012-12-12 |
+-------------------------------+
八、类型转化函数
为了进行数据类型转化,MySQL提供了CAST()函数,它可以把一个值转化为指定的数据类型。类型有:BINARY,CHAR,DATE,TIME,DATETIME,SIGNED,UNSIGNED
示例:
mysql> select cast(now() as signed integer);
+-------------------------------+
| cast(now() as signed integer) |
+-------------------------------+
| 20121212232553 |
+-------------------------------+
九、 系统信息函数
DATABASE() 返回当前数据库
SCHEMA() 和 DATABASE() 具有相同的意义
BENCHMARK(count,expr) 将表达式expr重复运行count次
CONNECTION_ID() 返回当前客户的连接ID
FOUND_ROWS() 返回最后一个SELECT查询进行检索的总行数
ROW_COUNT() 返回被前面语句升级的、插入的或删除的行数。这个行数和 mysql 客户端显示的行数及 mysql_affected_rows() C API 函数返回的