nombre - obtener el mes de una fecha en sql
SQL Actual mes/año pregunta (5)
Así que tengo una tabla que tiene el mes y el año desglosados, por ejemplo, el campo llamado Mes tiene el número 7 (este mes) y el campo Año tiene 2011. También hay meses adicionales, etc. ¿Cómo puedo consultar esto? mostrar solo el año actual, mes?
Esto debería funcionar en MySql
SELECT * FROM ''my_table'' WHERE ''month'' = MONTH(CURRENT_TIMESTAMP) AND ''year'' = YEAR(CURRENT_TIMESTAMP);
Esto debería funcionar para SQL Server:
SELECT * FROM myTable
WHERE month = DATEPART(m, GETDATE()) AND
year = DATEPART(yyyy, GETDATE())
Qué tal si:
Select *
from some_table st
where st.month = to_char(sysdate,''MM'') and
st.year = to_char(sysdate,''YYYY'');
debería funcionar en Oracle. ¿Qué base de datos estas usando? Lo pregunto porque no todas las bases de datos tienen las mismas funciones de fecha.
En SQL Server puede usar YEAR
, MONTH
y DAY
lugar de DATEPART
.
(al menos en SQL Server 2005/2008, no estoy seguro acerca de SQL Server 2000 y anteriores)
Prefiero usar estos "formularios cortos" porque para mí, YEAR(getdate())
es más corto de escribir y mejor para leer que DATEPART(yyyy, getdate())
.
Por lo tanto, también podría consultar su tabla de esta manera:
select *
from your_table
where month_column = MONTH(getdate())
and year_column = YEAR(getdate())
seleccione * de su_tabla donde MES (mes_avento) = MES (AHORA ()) y AÑO (mes_año) = AÑO (AHORA ());
Nota: (month_year) significa su columna que contiene el formato de fecha. Creo que eso resolverá tu problema. Avíseme si esa consulta no funciona.