¿Hay alguna forma de obtener el MONTHNAME()
solo del número del mes (1-12)? Por ejemplo, si tengo 6,7,8
¿hay alguna forma nativa en MySQL para transformarlos en June,July,August
?MySQL MONTHNAME() de los números
25
A
Respuesta
62
Puede utilizar STR_TO_DATE()
para convertir el número a una fecha, y luego de vuelta con MONTHNAME()
SELECT MONTHNAME(STR_TO_DATE(6, '%m'));
+---------------------------------+
| MONTHNAME(STR_TO_DATE(6, '%m')) |
+---------------------------------+
| June |
+---------------------------------+
Advertencia: Esto podría ser lento si se hace a través de una gran cantidad de filas.
4
Una forma un tanto fea sería SELECT MONTHNAME(CONCAT('2011-',8,'-01'));
2
Antes de leer gran respuesta de Michael había pensado algo como esto
select elt(3,'January','February','March',....)
pero su uno es mucho mejor. :)
0
Tal forma puede obtener diferentes weekname idioma o nombre del mes
para localizar el día de la semana:
`SELECT ELT(WEEKDAY('2004-04-10')+1, 'Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag');`
versión larga con mes:
`SELECT DATE_FORMAT('2004-04-10', CONCAT(ELT(WEEKDAY('2004-04-10')+1, 'Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag'),', %d. ', ELT(MONTH('2004-04-10'), 'Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'),' %Y'));`
-> Samstag, 10. Abril de 2004
mismo para la marca de tiempo unix:
`SELECT DATE_FORMAT(FROM_UNIXTIME(1081548000), CONCAT(ELT(WEEKDAY(FROM_UNIXTIME(1081548000))+1, 'Mo','Di','Mi','Do','Fr','Sa','So'),', %d. ', ELT(MONTH(FROM_UNIXTIME(1081548000)), 'Jan.','Feb.','März','April','Mai','Juni','Juli','Aug.','Sept.','Okt.','Nov.','Dez.'),' %Y'));`
-> Sa, 10 de abril de 2004
Cuestiones relacionadas
- 1. mysql previene los números negativos
- 2. Creando una "Tabla de números" en mysql
- 3. Generando un rango de números en MySQL
- 4. fin de MySQL por cadena con números
- 5. Convierte números enteros a los números escritos
- 6. ¿Cómo se relacionan los números pares de letras o números impares de letras usando regexp para mysql
- 7. Trabajando con números hexadecimales en MySQL
- 8. MySQL REGEXP para números que comienzan con
- 9. tienda los mayores 5000 números de una serie de números
- 10. Representación de los números flotantes de Java como números hexadecimales
- 11. Suma de todos los números
- 12. Compruebe si una cadena contiene los números
- 13. PHPMyAdmin/MySql - Agregar campo de ID y autopoblar los números de ID
- 14. ¿Los números necesitan ser localizados?
- 15. ProgressDialog - cómo eliminar los números
- 16. Problemas con los números primos
- 17. Encuentra los números que faltan
- 18. Bash - Los números de extracto de cadena
- 19. consultas mysql - pérdida de rendimiento al poner números entre comillas?
- 20. Cadena de búsqueda para los números
- 21. NSTextCheckingResult para los números de teléfono
- 22. ¿Los bucles de Shell usan números enteros?
- 23. ¿Qué significan los números de Windows TraceRt?
- 24. los números de fila en un DataGridView
- 25. Los números de escala son <= 255?
- 26. ¿Qué representan los números de Planning Poker?
- 27. ¿Cómo manejar los números de forma genérica?
- 28. Rubymine: habilite los números de línea
- 29. ¿Aprenda los números de programación adecuados?
- 30. eliminando los números de la cadena?
impresionante. Gracias. –
gracias por la advertencia. La consulta que estoy haciendo solo se remonta un año o dos, por lo que tiene un máximo de 24 filas. –
Quizás podría almacenar los nombres de los meses en la tabla MEMORY y INNER JOIN. o aplicar eso en la aplicación ... – Dor