MySQL DATE_FORMAT ()

I am trying to format a date using MySQL DATE_FORMAT. My request

SELECT first_name, middle_name, last_name, DATE_FORMAT(added_date,'%d/%m/%Y') AS AddDate FROM profiles. 

added_date is the date field in the profile table, when I run this query, it brings Null for AddDate, any sentence.

Thanks.

+6
source share
4 answers

Based on your comments, you're probably looking for this

 SELECT first_name, middle_name, last_name, DATE_FORMAT(STR_TO_DATE(added_date, '%d-%m-%Y %h:%i:%s %p'),'%d/%m/%Y') AS AddDate FROM profiles 

Output Example:

  |  FIRST_NAME |  MIDDLE_NAME |  LAST_NAME |  ADDDATE |
 -------------------------------------------------- ---
 |  Jhon |  (null) |  Doe |  08/11/2013 |

Here is the SQLFiddle demo

+2
source

If you store it as an INT, you might need to use FROM_UNIXTIME ()

 SELECT first_name, middle_name, last_name, DATE_FORMAT(FROM_UNIXTIME(added_date),'%d/%m/%Y') AS AddDate FROM profiles 
+1
source

Try something like this using STR_TO_DATE () : -

 SELECT first_name, middle_name, last_name, DATE_FORMAT(STR_TO_DATE(added_date, '%d-%m-%Y %h:%i:%s A'),'%d/%m/%Y') AS AddDate FROM profiles 
0
source

find edited query

  SELECT first_name, middle_name, last_name, DATE_FORMAT(STR_TO_DATE(added_date, '%d-%m-%Y %h:%i:%s A'),'%d/%m/%Y') AS AddDate FROM profiles 

Link to link

0
source

Source: https://habr.com/ru/post/951480/


All Articles