mysql - permitir - rellenar con espacios a la derecha sql server
Obtenga mySQL MONTH() para utilizar ceros a la izquierda? (4)
¿Cómo especifico a la función MES () de mySQL que regrese ''08'' en lugar de 8 en esta consulta?
Me gustaría que el género funcione en el momento. Actualmente obteniendo resultados para la fecha como
2006-9
2007-1
2007-10
2007-11
consulta actual:
SELECT COUNT(*), CONCAT(YEAR(`datetime_added`), ''-'', MONTH(`datetime_added`)) as date FROM `person` WHERE (email = '''' OR email IS NULL)
GROUP BY date
ORDER BY date ASC
MONTH () devuelve un entero, por lo que, por supuesto, no hay un cero inicial. Tendrá que convertirlo en una cadena, dejar el "0" en la izquierda y tomar los últimos 2 caracteres.
Puedes usar relleno como
SELECT
COUNT(*),
CONCAT(YEAR(`datetime_added`), ''-'', LPAD(MONTH(`datetime_added`), 2, ''0'')) as date
FROM `person`
WHERE (email = '''' OR email IS NULL)
GROUP BY date
ORDER BY date ASC
Use lo siguiente en su lugar:
DATE_FORMAT(`datetime_added`,''%Y-%m'')
Explicación:
DATE_FORMAT()
permite formatear la fecha de todas formas, le gusta usar los especificadores descritos en la tabla a continuación (tomados al pie de la letra de la documentation ). Por lo tanto, una cadena de formato ''%Y-%m''
significa: "Un año completo (4 dígitos), seguido de un guión ( -
), seguido de un número de mes de dos dígitos".
Tenga en cuenta que puede especificar el idioma utilizado para los nombres de día / mes estableciendo la variable del sistema lc_time_names
. Extremadamente útil. Consulte la documentation para más detalles.
Specifier Description
%a Abbreviated weekday name (Sun..Sat)
%b Abbreviated month name (Jan..Dec)
%c Month, numeric (0..12)
%D Day of the month with English suffix (0th, 1st, 2nd, 3rd, …)
%d Day of the month, numeric (00..31)
%e Day of the month, numeric (0..31)
%f Microseconds (000000..999999)
%H Hour (00..23)
%h Hour (01..12)
%I Hour (01..12)
%i Minutes, numeric (00..59)
%j Day of year (001..366)
%k Hour (0..23)
%l Hour (1..12)
%M Month name (January..December)
%m Month, numeric (00..12)
%p AM or PM
%r Time, 12-hour (hh:mm:ss followed by AM or PM)
%S Seconds (00..59)
%s Seconds (00..59)
%T Time, 24-hour (hh:mm:ss)
%U Week (00..53), where Sunday is the first day of the week
%u Week (00..53), where Monday is the first day of the week
%V Week (01..53), where Sunday is the first day of the week; used with %X
%v Week (01..53), where Monday is the first day of the week; used with %x
%W Weekday name (Sunday..Saturday)
%w Day of the week (0=Sunday..6=Saturday)
%X Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V
%x Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v
%Y Year, numeric, four digits
%y Year, numeric (two digits)
%% A literal “%” character
%x x, for any “x” not listed above
DATE_FORMAT(`datetime_added`,''%Y - %m'')