Format date on MySql

5

When executing the following statement, the error occurs: Unabled to convert Date/time . I try to show the information that this query brings in a DataGridView .

SELECT codigo, nombre, marca, precio, CONVERT(fechaexpira, DATE)
FROM productos
    
asked by Pedro Ávila 23.08.2016 в 20:38
source

2 answers

3

Use the DATE_FORMAT function to convert a column of type DATE or TIME 1 to string . That is to say (for example):

SELECT codigo,
       nombre,
       marca,
       precio, 
       DATE_FORMAT(fechaexpira, '%d/%m/%Y') 
  FROM productos

where:

+----+------------------------------------+
| %d | Day of the month, numeric (00..31) |
| %m | Month, numeric (00..12)            |
| %Y | Year, numeric, four digits         |
+----+------------------------------------+

Notes

  • See Date and Time Types .
  • answered by 23.08.2016 / 20:44
    source
    2

    We go in parts, with this pair of lines the base idea is acquired:

    DATE_FORMAT(NOW(),'%W, %M %e, %Y @ %h:%i %p')
    #yields 'Sundía, September 20, 2008 @ 12:45 PM'
    

    Now:

    Especificador   Descripción
    %a  Apreviación para el nombre del día (Lun...Dom)
    %b  Apreviación para el nombre del mes (Ene...Dic)
    %c  Mes, numérico (0..12)
    %D  Día del mes con sufijo inglés (0th, 1st, 2nd, 3rd, …)
    %d  Día del mes, numérico (00..31)
    %e  Día del mes, numérico (0..31)
    %f  MicroSegundos (000000..999999)
    %H  Hora (00..23)
    %h  Hora (01..12)
    %I  Hora (01..12)
    %i  Minutos, numérico (00..59)
    %j  Día del año (001..366)
    %k  Hora (0..23)
    %l  Hora (1..12)
    %M  Nombre del mes (Enero...Diciembre)
    %m  Mes, numérico (00..12)
    %p  AM o PM
    %r  Tiempo, 12-Hora (hh:mm:ss seguido de AM o PM)
    %S  Segundos (00..59)
    %s  Segundos (00..59)
    %T  Tiempo, 24-Hora (hh:mm:ss)
    %U  Semana (00..53), donde Domingo es el primer día de la semana; WEEK() mode 0
    %u  Semana (00..53), donde Lunes es el primer día de la semana; WEEK() mode 1
    %V  Semana (01..53), donde Domingo es el primer día de la semana; WEEK() mode 2; usado con %X
    %v  Semana (01..53), donde Lunes es el primer día de la semana; WEEK() mode 3; usado con %x
    %W  Nombre del día (Lunes...Domingo)
    %w  Día de la semana (0=Domingo..6=Sábado)
    %X  Año para la semana, donde Domingo es el primer día de la semana, numérico, 4 dígitos; usado con %V
    %x  Año para la semana, donde Lunes es el primer día de la semana, numeric, 4 dígitos; usado con %v
    %Y  Año, numérico, 4 dígitos
    %y  Año, numérico (2 dígitos)
    %%  Un literal “%” caracter
    %x  x, para cualquier “x” que no se encuentre listado
    

    Reference: link

        
    answered by 23.08.2016 в 21:11