consulta con LIKE de SQL

04/03/2005 - 20:39 por Manuel Aguilera | Informe spam
Hola comunidad, necesito realizar la siguiente tarea:
necesito obtener todos los registros tal que el mes y el
año sean los que enviare por parametro. Por ejemplo si
sabemos que el mes y año actual son:

month = Now.Month
year = Now.Year

entonces deseo obtener todos los registros donde el campo
fecha se encuentre en el mes month y el año year. Pense en
utilizar el operador LIKE de SQL pero no me resulta.

No puedo usar un BETWEEN entre fechas ya que como
desconozco los numeros de los dias se produce un error.
Esto sucede si, por ejemplo, hago esto:

BETWEEN '1-month-year' AND '31-month-year'

En meses que no tienen 31 dias (como febrero) se produce un
error de DATETIME fuera de intervalo.

Si alguien sabe como usar el operador LIKE u otra manera de
solucionar este problema le agradeceria de por vida. Gracias.

Preguntas similare

Leer las respuestas

#1 Anonimo
04/03/2005 - 21:00 | Informe spam
Que tal si usas
Fecha >= '1-month-year' and Fecha < '1-month+1-year'

Hola comunidad, necesito realizar la siguiente tarea:
necesito obtener todos los registros tal que el mes y el
año sean los que enviare por parametro. Por ejemplo si
sabemos que el mes y año actual son:

month = Now.Month
year = Now.Year

entonces deseo obtener todos los registros donde el campo
fecha se encuentre en el mes month y el año year. Pense


en
utilizar el operador LIKE de SQL pero no me resulta.

No puedo usar un BETWEEN entre fechas ya que como
desconozco los numeros de los dias se produce un error.
Esto sucede si, por ejemplo, hago esto:

BETWEEN '1-month-year' AND '31-month-year'

En meses que no tienen 31 dias (como febrero) se produce


un
error de DATETIME fuera de intervalo.

Si alguien sabe como usar el operador LIKE u otra manera


de
solucionar este problema le agradeceria de por vida.


Gracias.
.

Respuesta Responder a este mensaje
#2 Manuel Aguilera
04/03/2005 - 21:28 | Informe spam
Gracias maestro, no se me habia ocurrido, pero que va a
pasar cuando sea el mes 12 (diciembre), ya que no existe el
mes 1 - 13 - year no podria preguntar por que la fecha sea
menor que el 1 - 13 - year.

Gracias nuevamente


Que tal si usas
Fecha >= '1-month-year' and Fecha < '1-month+1-year'

Hola comunidad, necesito realizar la siguiente tarea:
necesito obtener todos los registros tal que el mes y el
año sean los que enviare por parametro. Por ejemplo si
sabemos que el mes y año actual son:

month = Now.Month
year = Now.Year

entonces deseo obtener todos los registros donde el campo
fecha se encuentre en el mes month y el año year. Pense


en
utilizar el operador LIKE de SQL pero no me resulta.

No puedo usar un BETWEEN entre fechas ya que como
desconozco los numeros de los dias se produce un error.
Esto sucede si, por ejemplo, hago esto:

BETWEEN '1-month-year' AND '31-month-year'

En meses que no tienen 31 dias (como febrero) se produce


un
error de DATETIME fuera de intervalo.

Si alguien sabe como usar el operador LIKE u otra manera


de
solucionar este problema le agradeceria de por vida.


Gracias.
.



.

Respuesta Responder a este mensaje
#3 Paulo Conde
05/03/2005 - 01:34 | Informe spam
En caso de que mes sea doce habria que ponerlo a uno, es facil usando el
modulo. Pero si se pone a uno hay que incrementar el año en una unidad,
entonces se complica. Lo ideal es sumar un mes usando Dateadd (esto
automaticamente incrementa el año si es necesario), algo asi:

Fecha >= '1-month-year' and Fecha < DATEADD('mm',1,'1-month-year' )
Respuesta Responder a este mensaje
#4 David Sans
07/03/2005 - 09:48 | Informe spam
Hola Manuel y grupo,

Mírate esta función :

Now.DaysInMonth(Now.Year, Now.Month)

Te da los días que tiene el mes y año que le pasas.
Creo que te puede valer para saber los días que tiene un mes en concreto.

Un saludo.
David


"Manuel Aguilera" escribió en el mensaje news:303401c520f1$d1f61620$

Hola comunidad, necesito realizar la siguiente tarea:
necesito obtener todos los registros tal que el mes y el
año sean los que enviare por parametro. Por ejemplo si
sabemos que el mes y año actual son:

month = Now.Month
year = Now.Year

entonces deseo obtener todos los registros donde el campo
fecha se encuentre en el mes month y el año year. Pense en
utilizar el operador LIKE de SQL pero no me resulta.

No puedo usar un BETWEEN entre fechas ya que como
desconozco los numeros de los dias se produce un error.
Esto sucede si, por ejemplo, hago esto:

BETWEEN '1-month-year' AND '31-month-year'

En meses que no tienen 31 dias (como febrero) se produce un
error de DATETIME fuera de intervalo.

Si alguien sabe como usar el operador LIKE u otra manera de
solucionar este problema le agradeceria de por vida. Gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida