赞
踩
1、FORMAT(数字,‘格式’) 函数将数字格式化为像"#,###,###.##"这样的格式,
- mysql> select ename,format(sal,'$999,999') as sal from emp;
- +--------+-------+
- | ename | sal |
- +--------+-------+
- | SMITH | 800 |
- | ALLEN | 1,600 |
- | WARD | 1,250 |
- | JONES | 2,975 |
- | MARTIN | 1,250 |
- | BLAKE | 2,850 |
- | CLARK | 2,450 |
- | SCOTT | 3,000 |
- | KING | 5,000 |
- | TURNER | 1,500 |
- | ADAMS | 1,100 |
- | JAMES | 950 |
- | FORD | 3,000 |
- | MILLER | 1,300 |
- +--------+-------+
- 14 rows in set, 14 warnings (0.00 sec)
2、四舍五入到指定的小数位数,然后将结果作为字符串返回。
- mysql> select format(120.346374,2);
- +----------------------+
- | format(120.346374,2) |
- +----------------------+
- | 120.35 |
- +----------------------+
- 1 row in set (0.00 sec)
将date类型 转换为具有一定格式的varchar类型。
这个函数通常使用在查询日期方面。设置展示的日期格式
- mysql> select id,name,birth from t_user;
- +------+----------+------------+
- | id | name | birth |
- +------+----------+------------+
- | 1 | zhangsan | 1990-10-01 |
- | 2 | lisi | 1990-10-01 |
- +------+----------+------------+
- 2 rows in set (0.00 sec)
以上SQL语句其实是进行了默认的日期格式化。自动将数据库中的date类型转换成varchar类型
并采用 mysql 默认的日期格式:' %Y-%m-%d '
若采用特定格式输出则需要加date_format()函数:
- mysql> select id,name,date_format(birth,'%m/%d/%Y') as birth from t_user;
- +------+----------+------------+
- | id | name | birth |
- +------+----------+------------+
- | 1 | zhangsan | 10/01/1990 |
- | 2 | lisi | 10/01/1990 |
- +------+----------+------------+
- 2 rows in set (0.00 sec)
mysql的日期格式:
%Y 年
%m 月
%d 日
%h 时
%i 分
%s 秒
将字符串varchar类型转换为date类型
通常使用在插入insert 方面,因为插入的时候需要一个日期类型的数据,需要通过该函数将字符串转换成date。
当然,如何你提供的日期字符串是这个格式,str_to _date 函数就不需要了!!!
- mysql> desc t_user;
- +-------+-------------+------+-----+---------+-------+
- | Field | Type | Null | Key | Default | Extra |
- +-------+-------------+------+-----+---------+-------+
- | id | int | YES | | NULL | |
- | name | varchar(32) | YES | | NULL | |
- | birth | date | YES | | NULL | |
- +-------+-------------+------+-----+---------+-------+
- 3 rows in set (0.00 sec)
-
- mysql> insert into t_user(id,name,birth) values(1,'zhangsan','01-10-1990');
- ERROR 1292 (22007): Incorrect date value: '01-10-1990' for column 'birth' at row 1
-
- mysql> insert into t_user(id,name,birth) values(1,'zhangsan',str_to_date('01-10-1990','%d-%m-%Y'));
- Query OK, 1 row affected (0.00 sec)
-
- mysql> insert into t_user(id,name,birth) values(2,'lisi','1990-10-01');
- Query OK, 1 row affected (0.00 sec)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。