首页 > 数据库 > MySQL > 正文

MySql format与date_format函数用法区别

2024-07-24 12:37:02
字体:
来源:转载
供稿:网友

在mysql中格式化函数有几个,像format,date_format,TIME_FORMAT这三个函数有很多朋友都不明白,下面我来给大家详细举例说明这三个函数用法

一,FORMAT(X,D)

格式化数字X为类似于格式'#,###,###.##',四舍五入到D为小数。如果D为0,结果将没有小数点和小数部分。

举例:1.代码如下:

SELECT FORMAT(12324.2573,3);输出: 12,324.257

2.在有where条件时使用,代码如下:

  1. SELECT book_name,FORMAT(book_price,4)    
  2. FROM book_mast   
  3. WHERE book_price>150; 

二,TIME_FORMAT(time,format)

这是DATE_FORMAT()函数一样使用,但只有几个小时,分钟和秒格式字符串可以包含格式说明符.

如果时间值包含了一个小时的一部分,大于23,%H和%k小时格式说明符产生的值大于正常范围0 .. 23,一小时格式说明符产生的小时值(模12),代码如下:

  1. mysql> SELECT TIME_FORMAT('100:00:00''%H %k %h %I %l'); 
  2. +---------------------------------------------------------+ 
  3. | TIME_FORMAT('100:00:00''%H %k %h %I %l')              | 
  4. +---------------------------------------------------------+ 
  5. | 100 100 04 04 4                                         | 
  6. +---------------------------------------------------------+ 
  7. 1 row in set (0.00 sec) 

三,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.Vevb.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,结果将没有小数点和小数部分

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表