在mysql中格式化函数有几个,像format,date_format,TIME_FORMAT这三个函数有很多朋友都不明白,下面我来给大家详细举例说明这三个函数用法
一,FORMAT(X,D)
格式化数字X为类似于格式'#,###,###.##',四舍五入到D为小数。如果D为0,结果将没有小数点和小数部分。
举例:1.代码如下:
SELECT FORMAT(12324.2573,3);输出: 12,324.257
2.在有where条件时使用,代码如下:
- SELECTbook_name,FORMAT(book_price,4)
- FROMbook_mast
- WHEREbook_price>150;
二,TIME_FORMAT(time,format)
这是DATE_FORMAT()函数一样使用,但只有几个小时,分钟和秒格式字符串可以包含格式说明符.
如果时间值包含了一个小时的一部分,大于23,%H和%k小时格式说明符产生的值大于正常范围0 .. 23,一小时格式说明符产生的小时值(模12),代码如下:
- mysql>SELECTTIME_FORMAT('100:00:00','%H%k%h%I%l');
- +---------------------------------------------------------+
- |TIME_FORMAT('100:00:00','%H%k%h%I%l')|
- +---------------------------------------------------------+
- |10010004044|
- +---------------------------------------------------------+
- 1rowinset(0.00sec)
三,date_format
DATE_FORMAT()来格式化DATE或者DATETIME值,以便得到所希望的格式,根据format字符串格式化date值:
%S, %s 两位数字形式的秒( 00,01, . . ., 59)
%i 两位数字形式的分( 00,01, . . ., 59)
%H 两位数字形式的小时,24 小时(00,01, . . ., 23)
%h, %I 两位数字形式的小时,12 小时(01,02, . . ., 12)
%k 数字形式的小时,24 小时(0,1, . . ., 23)
%l 数字形式的小时,12 小时(1, 2, . . ., 12)
%T 24 小时的时间形式(h h : m m : s s)
%r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)
%p AM 或P M
%W 一周中每一天的名称( S u n d a y, Monday, . . ., Saturday)
%a 一周中每一天名称的缩写( Sun, Mon, . . ., Sat)
%d 两位数字表示月中的天数( 00, 01, . . ., 31)
%e 数字形式表示月中的天数( 1, 2, . . ., 31)
%D 英文后缀表示月中的天数( 1st, 2nd, 3rd, . . .)
%w 以数字形式表示周中的天数( 0 = S u n d a y, 1=Monday, . . ., 6=Saturday) www.phpfensi.com
%j 以三位数字表示年中的天数( 001, 002, . . ., 366)
% U 周(0, 1, 52),其中Sunday 为周中的第一天
%u 周(0, 1, 52),其中Monday 为周中的第一天
%M 月名(J a n u a r y, February, . . ., December)
%b 缩写的月名( J a n u a r y, February, . . ., December)
%m 两位数字表示的月份( 01, 02, . . ., 12)
%c 数字表示的月份( 1, 2, . . ., 12)
%Y 四位数字表示的年份
%y 两位数字表示的年份
%% 直接值“%”
总结:
format:小时,分钟和秒格式字符串可以包含格式说明符
date_format:根据格式化串format格式化日期或日期和时间值date,返回结果串
TIME_FORMAT:格式化数字X为类似于格式'#,###,###.##',四舍五入到D为小数。如果D为0,结果将没有小数点和小数部分