blob: 54f2acd75976565b8e74bc4380dcc2575fa68142 [file] [log] [blame] [view]
---
{
"title": "DATE_FORMAT",
"language": "en"
}
---
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## date_format
### Description
#### Syntax
`VARCHAR DATE_FORMAT (DATETIME DATE, VARCHAR Format)`
Convert the date type to a string according to the format type.
Convert the date type to a string according to the format type. Currently, it supports a maximum of 128 bytes for the string. If the return value length exceeds 128 bytes, then it returns NULL.
The date parameter is the valid date. Format specifies the date/time output format.
The formats available are:
% a | Abbreviation for Sunday Name
% B | Abbreviated Monthly Name
% C | Month, numerical value
% D | Sky in the Moon with English Prefix
% d | Monthly day, numerical value (00-31)
% e | Monthly day, numerical value (0-31)
% f | microseconds
% H | Hours (00-23)
% h | hour (01-12)
% I | Hours (01-12)
% I | min, numerical value (00-59)
% J | Days of Year (001-366)
% k | hours (0-23)
% L | Hours (1-12)
% M | Moon Name
% m | month, numerical value (00-12)
% p | AM or PM, only available on 12-hours system
% R | Time, 12-hour (hh:mm:ss), could be with or without AM/PM marking
% S | seconds (00-59)
% s | seconds (00-59)
% T | Time, 24-hour (hh:mm:ss)
% U | Week (00-53) Sunday is the first day of the week
% U | Week (00-53) Monday is the first day of the week
% V | Week (01-53) Sunday is the first day of the week, and% X is used.
% v | Week (01-53) Monday is the first day of the week, and% x is used
% W | Sunday
% w | Weekly day (0 = Sunday, 6 = Saturday)
% X | Year, where Sunday is the first day of the week, 4 places, and% V use
% x | year, of which Monday is the first day of the week, 4 places, and% V
% Y | Year, 4
% y | Year, 2
%% | Represent %
Also support 3 formats:
yyyyMMdd
yyyy-MM-dd
yyyy-MM-dd HH:mm:ss
### example
```
mysql> select date_format('2009-10-04 22:23:00', '%W %M %Y');
+------------------------------------------------+
| date_format('2009-10-04 22:23:00', '%W %M %Y') |
+------------------------------------------------+
| Sunday October 2009 |
+------------------------------------------------+
mysql> select date_format('2007-10-04 22:23:00', '%H:%i:%s');
+------------------------------------------------+
| date_format('2007-10-04 22:23:00', '%H:%i:%s') |
+------------------------------------------------+
| 22:23:00 |
+------------------------------------------------+
mysql> select date_format('1900-10-04 22:23:00', '%D %y %a %d %m %b %j');
+------------------------------------------------------------+
| date_format('1900-10-04 22:23:00', '%D %y %a %d %m %b %j') |
+------------------------------------------------------------+
| 4th 00 Thu 04 10 Oct 277 |
+------------------------------------------------------------+
mysql> select date_format('1997-10-04 22:23:00', '%H %k %I %r %T %S %w');
+------------------------------------------------------------+
| date_format('1997-10-04 22:23:00', '%H %k %I %r %T %S %w') |
+------------------------------------------------------------+
| 22 22 10 10:23:00 PM 22:23:00 00 6 |
+------------------------------------------------------------+
mysql> select date_format('1999-01-01 00:00:00', '%X %V');
+---------------------------------------------+
| date_format('1999-01-01 00:00:00', '%X %V') |
+---------------------------------------------+
| 1998 52 |
+---------------------------------------------+
mysql> select date_format('2006-06-01', '%d');
+------------------------------------------+
| date_format('2006-06-01 00:00:00', '%d') |
+------------------------------------------+
| 01 |
+------------------------------------------+
mysql> select date_format('2006-06-01', '%%%d');
+--------------------------------------------+
| date_format('2006-06-01 00:00:00', '%%%d') |
+--------------------------------------------+
| %01 |
+--------------------------------------------+
```
### keywords
DATE_FORMAT,DATE,FORMAT