24、mysql的系统函数
MySQL 提供了很多的系统函数,这些系统函数可以对数据进行特殊的处理,本小节选择一些代表性的系统函数演示说明。
CONCAT 拼接字段
以 teacher 表为例,将教师信息的 name 和 id_number 字段的值拼接在一起:
SELECT *,CONCAT(name,id_number) AS name_id_number FROM teacher;
其中 name_id_number 的值是 CONCAT() 函数将 name 和 id_number 的值拼接在一起。即将两个字段合并为一个字段
GROUP_CONCAT拼接分组字段
以 course 和 teacher 表内连接分组为例,并使用 GROUP_CONCAT 将指定的分组字段拼接在一起:
SELECT c.teacher_id,t.*,GROUP_CONCAT(c.id) AS new_str
FROM course c
LEFT JOIN teacher t
ON c.teacher_id=t.id
GROUP BY c.teacher_id;
其中 new_str 的值是 GROUP_CONCAT() 函数将 c.id 的值拼接在一起,默认是 ‘,’ 拼接。
NOW()获取当前日期和时间
SELECT NOW() AS date_time;
UNIX_TIMESTAMP()将日期转化为UNIX时间戳
SELECT UNIX_TIMESTAMP();
其中 UNIX_TIMESTAMP() 函数默认获取当前时间戳,也可以获取指定日期的时间戳,例如 UNIX_TIMESTAMP('2012-12-21') 的取值为 1356019200。
多个系统函数处理数据
上述演示的几个系统函数可以直接对数据值进行处理,也可以对查询出来的结果集字段列进行处理,例如将 teacher 表 name 字段查询出来的值转化为大写字母:
SELECT *,UPPER(name) AS up_name FROM teacher;
参考资料:http://www.imooc.com/wiki/mysqllesson/systemfunction.html