MySQL数据库的函数
来源:互联网 发布:上海知金教育 编辑:程序博客网 时间:2024/05/20 01:35
MySQL数据库的函数
MySQL函数共有5种,分别为:
- 控制流程函数
- 字符串函数
- 数值函数
- 日期和时间函数
- 聚合函数
1. 控制流程函数
1. CASE / WHEN
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END例如:mysql> select case 1 when 1 then 'one' when 2 then 'two' else 'more' end result;//如果value(1)为1,则显示one,如果为2,则显示two,否则显示more+--------+| result |+--------+| one |+--------+
或
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END mysql> select case when 1 > 0 then 'true' else 'false' end result;//如果condition(1 > 0)状态为真则显示true,否则显示false+--------+| result |+--------+| true |+--------+
例如: 查询员工工资等级
首先建立一张员工等级表如下:mysql> select * from SALGRADE;+-------+-------+-------+| grade | losal | hisal |+-------+-------+-------+| 1 | 700 | 1200 || 2 | 1201 | 1400 || 3 | 1401 | 2000 || 4 | 2001 | 3000 || 5 | 3001 | 9999 |+-------+-------+-------+mysql> select ename 员工, sal 薪金, case grade when 1 then '一级' when 2 then '二级' when 3 then '三级' when 4 then '四级' when 5 then '五级' end 等级 from EMP, SALGRADE where sal between losal and hisal;+--------+---------+--------+| 员工 | 薪金 | 等级 |+--------+---------+--------+| xxxx | 1200.00 | 一级 || SMITH | 800.00 | 一级 || ALLEN | 1600.00 | 三级 || WARD | 1250.00 | 二级 || JONES | 2975.00 | 四级 || MARTIN | 1250.00 | 二级 || BLAKE | 2850.00 | 四级 || CLARK | 2450.00 | 四级 || SCOTT | 3000.00 | 四级 || KING | 5000.00 | 五级 || TURNER | 1500.00 | 三级 || ADAMS | 1100.00 | 一级 || JAMES | 950.00 | 一级 || FORD | 3000.00 | 四级 || MILLER | 1300.00 | 二级 |+--------+---------+--------+
1.2 IF
IF(expr1, expr2, expr3)含义:如果expr1是TRUE(不为0且不为NULL)则返回expr2的值否则返回expr3的值。mysql> select if(1>2, 'yes', 'no') result;+--------+| result |+--------+| no |+--------+
1.3 IFNULL
IFNULL(expr1, expr2)含义:如果expr1不为NULL,则IFNULL的返回值为expr1的值,否则返回expr2的值。mysql> select ifnull(1, 0) result;+--------+| result |+--------+| 1 |+--------+
2. 字符串函数
2.1 ASCII(str)
返回值为字符串str的最左字符的数值,如果str为空字符串,则返回值为0;如果str为NULL,则返回值为NULL。ASCII()用于带有从0到255的数值的字符。mysql> select ascii('abc');+--------------+| ascii('abc') |+--------------+| 97 |+--------------+
2.2 BIN(N)
返回值为N的二进制值的字符串mysql> select bin(12);+---------+| bin(12) |+---------+| 1100 |+---------+
2.3 CHAR(N, …)
CHAR()将每个参数N理解为一个整数,其返回值为一个包含这些整数的代码值所给出的字符的字符串,NULL值被省略。mysql> SELECT CHAR(77,121,83,81,76);+-----------------------+| CHAR(77,121,83,81,76) |+-----------------------+| MySQL |+-----------------------+
3. 数值函数
3.1算术操作符
mysql> select 1+1;+-----+| 1+1 |+-----+| 2 |+-----+mysql> select 3/7;+--------+| 3/7 |+--------+| 0.4286 |+--------+
3.2 数学函数
mysql> SELECT ABS(-32);//返回绝对值+----------+| ABS(-32) |+----------+| 32 |+----------+ASIN(X) 是反正弦函数ACOS(X)是反余弦函数.......
4.日期和时间函数
4.1 now
返回当前日期
mysql> select now();+---------------------+| now() |+---------------------+| 2017-02-24 17:51:01 |+---------------------+
4.2 date_add/adddate
返回日期加天数后的日期
mysql> select date_add('1998-02-02', INTERVAL 28 DAY) newday;+------------+| newday |+------------+| 1998-03-02 |+------------+//adddate与date_add用法相同,等价于如下:SELECT adddate('1998-02-02', INTERVAL 28 DAY);SELECT adddate('1998-02-02', 28); //date_add无此用法
4.3datediff
返回两个日期的时间差
mysql> select DATEDIFF(now(),'2015-07-15') 时间差;+-----------+| 时间差 |+-----------+| 590 |+-----------+mysql> select DATEDIFF('2015-07-15', '2017-07-07') 时间差;+-----------+| 时间差 |+-----------+| -723 |+-----------+
4.3 date_format
根据format字符串安排date值的格式
可以有的格式有:
格式 描述%a 缩写星期名%b 缩写月名%c 月,数值%D 带有英文前缀的月中的天%d 月的天,数值(00-31)%e 月的天,数值(0-31)%f 微秒%H 小时 (00-23)%h 小时 (01-12)%I 小时 (01-12)%i 分钟,数值(00-59)%j 年的天 (001-366)%k 小时 (0-23)%l 小时 (1-12)%M 月名%m 月,数值(00-12)%p AM 或 PM%r 时间,12-小时(hh:mm:ss AM 或 PM)%S 秒(00-59)%s 秒(00-59)%T 时间, 24-小时 (hh:mm:ss)%U 周 (00-53) 星期日是一周的第一天%u 周 (00-53) 星期一是一周的第一天%V 周 (01-53) 星期日是一周的第一天,与 %X 使用%v 周 (01-53) 星期一是一周的第一天,与 %x 使用%W 星期名%w 周的天 (0=星期日, 6=星期六)%X 年,其中的星期日是周的第一天,4 位,与 %V 使用%x 年,其中的星期一是周的第一天,4 位,与 %v 使用%Y 年,4 位%y 年,2 位
例如:取出当前时间的时分秒
mysql> select DATE_FORMAT(now(), '%H:%i:%s');+--------------------------------+| DATE_FORMAT(now(), '%H:%i:%s') |+--------------------------------+| 18:07:35 |+--------------------------------+
5. 聚合函数
聚合函数的使用方法点击
0 0
- MySQL数据库的函数
- mysql数据库的函数
- mysql数据库常用的函数
- mysql数据库的安装,mysql函数
- MySql数据库的日期转换函数
- PHP操作mysql数据库的函数集合
- MySQL数据库的FIND_IN_SET函数使用方法详解
- mysql 数据库to_days,str_to_date函数的使用
- mysql数据库常用的时间函数
- php操作mysql数据库的函数(天龙八部)
- mysql 数据库的常用函数集锦
- 数据库<8> MySQL的统计函数
- mysql数据库聚合函数的查询
- 关于MySQL数据库的内置函数
- 记录PostgreSQL数据库往MySQL数据库迁移的函数变化
- MySQL数据库函数详解
- MySQL数据库函数
- MySQL数据库函数详解
- 贪吃蛇c++ 乱写的
- 将本地项目托管到GitHub上
- 设计一个程序输入两个日期计算相隔多少天,或计算一个日期加上间隔后的日期。
- HDU 2084 数塔【dp(递推)+(记忆化)】
- 在IOS中嵌套H5页面发生空白的问题
- MySQL数据库的函数
- python实现线性表顺序存储的插入操作
- Android Stadio 代码模板 fbc的使用
- Rviz教程-Marker:点和线(C++)
- poj 3264 线段树,链表实现
- shell脚本编程(一)
- redis 配置详解
- svn和git的区别
- ioctl那些事儿