SQL--Where fechas (Condición de fechas)

Iniciado por noobdai, 4 Marzo 2010, 19:53 PM

0 Miembros y 1 Visitante están viendo este tema.

noobdai

Hola,Buenas noches.
Tengo un problema a la hora de realizar una consulta con una condición por meses.

¿Alguien sabría decirme que tipo de condición hacer?

Ejemplo 1: Consulta total de registros por mes

Ejemplo 2: Consulta total de registros entre 2 fechas

Saludos

Shell Root

WTF!... Algo así?
Código (sql) [Seleccionar]
SELECT COUNT(*) FROM tblUsuario
WHERE(strFecha = '01/02/2010') AND (strFecha = '28/02/2010')
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Novlucker

+

group by, porque entiendo quieres sacar la cantidad de registros agrupados por mes, aunque tal vez me equivoque :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

^Tifa^

#3
Parece que no soy la unica  :xD

No entiendo bien tu peticion tampoco...

Es algo como saber cuantos registros existen por cada mes en los 12 meses???? y imprimir algo como:

ENERO: 200 registros
FEBRERO: 300 registros
MARZO: 150 registros

ect....

Y eso de total de registros por 2 fechas? Seria como:

ENERO + FEBRERO : 500 registros...

Si tu peticion es mas o menos eso.. probablemente tenga que apoyarme en el uso de un poquito de PL y cursores  :rolleyes:  o a lo mejor no, dependera de tu explicacion de que requieres...

La DB es Oracle verdad?

noobdai

Cita de: ^TiFa^ en  4 Marzo 2010, 21:35 PM
Parece que no soy la unica  :xD

No entiendo bien tu peticion tampoco...

Es algo como saber cuantos registros existen por cada mes en los 12 meses???? y imprimir algo como:

ENERO: 200 registros
FEBRERO: 300 registros
MARZO: 150 registros

ect....

Y eso de total de registros por 2 fechas? Seria como:

ENERO + FEBRERO : 500 registros...

Si tu peticion es mas o menos eso.. probablemente tenga que apoyarme en el uso de un poquito de PL y cursores  :rolleyes:

La DB es Oracle verdad?
Si ,Tifa esa es mi petición  ;D Y la BD es Oracle también  :)

CitarInsertar Cita
WTF!... Algo así?
Código

SELECT COUNT(*) FROM tblUsuario
   WHERE(strFecha = '01/02/2010') AND (strFecha = '28/02/2010')
No me ha funcionado...no me devuelve ningún registro.
Pero gracias de todas formas  ;)

Nakp

#5
ehm... la condicion no va en WHERE, es BETWEEN

Código (sql) [Seleccionar]
SELECT COUNT(*) FROM tblUsuario WHERE strFecha BETWEEN '01/02/2010' AND '28/02/2010'

pd: por favor gente acostumbrense a usar [code=sql][/code] al rededor de su codigo :¬¬
Ojo por ojo, y el mundo acabará ciego.

noobdai

#6
Cita de: Nakp en  4 Marzo 2010, 21:55 PM
ehm... la condicion no va en WHERE, es BETWEEN

Código (sql) [Seleccionar]
SELECT COUNT(*) FROM tblUsuario WHERE strFecha BETWEEN '01/02/2010' AND '28/02/2010'

pd: por favor gente acostumbrense a usar [code=sql][/code] al rededor de su codigo :¬¬


Sorry por lo del código.
En cuanto a la modificación de la sentencia anterior...si tengo la fecha en Date..con "TO CHAR" valdría igual no?
Me sigue sin funcionar,ahora me dice que falta una expresión...

Código (sql) [Seleccionar]
BETWEEN (CABFACTURA.FECHA='01/02/10') and (CABFACTURA.FECHA='28/02/10')

Nakp

ah? xD

mira... hablado :P

DONDE campo ENTRE valor1 Y valor2

Código (sql) [Seleccionar]
SELECT COUNT(*) FROM tabla WHEReM5CABFACTURA.FECHA BETWEEN '01/02/10' AND '28/02/10'

estas seguro que la fecha esta bien? el formato... yo las uso YYYYMMDD o DD-MM-YYYY o DD/MM/YY pero nunca XX/XX/XX
Ojo por ojo, y el mundo acabará ciego.

noobdai

ahora si,pero...¿sabes como coger el mes de las fechas? :)

Saludos

Nakp

no se si en oracle pero prueba MONTH('fecha')

aunque no creo que sirva porque que hay entre octubre y marzo (2009-2010) es mas logico definir las fechas completas :P
Ojo por ojo, y el mundo acabará ciego.