Ir al contenido principal

SQL: buscar por rangos de fecha con campos mes y año separados.

Tengo una tabla con campo año y mes por separado. Se requiere seleccionar un rango de fechas.
Por ejemplo de Septiembre de 2011 a Mayo de 2012.
BD: SQL Server 2000

 Opcion 1: (SIN FUNCIONAR) 
Esta consulta no nos devuelve nada debido a que mes es un campo numérico.

select anio, mes from ventas
where (anio>=2011 and mes>=9) and (anio<=2012 and mes<=5)


Opcion 2: (no me gustó) 
Esta opción nos trae todos los registros de 2011 y 2012, después con código php se pueden usar strtotime y después filtrar los registros que necesitamos.

select anio, mes from ventas
where (anio>=2011) and (anio<=2012)

Opcion 3: (sin funcionar)
Intentando concatenar los campos

select anio, mes,(anio+'-'+mes+'-01')

Opcion 4: (sin funcionar)
Concatenando los campos utilizando cast, casi solucionado pero le agrega un espacio en el mes.

select anio, mes, convert (varchar(10),cast(anio as char(4))+'-'+cast(mes as char(2))+'-01',120) 
from ventas

Opcion 5: (SOLUCIONADO)
Concatenando los campos utilizando las funciones cast, right y convert


select anio, mes,  
convert (varchar(10),cast(anio as char(4))+'-'+right('0'+ rtrim(mes), 2)+'-01',120)
from ventas
WHERE
     convert (varchar(10),cast(anio as char(4))+'-'+right('0'+ rtrim(mes), 2)+'-01',120) >='2011-09-01'
and  convert (varchar(10),cast(anio as char(4))+'-'+right('0'+ rtrim(mes), 2)+'-01',120) <='2012-05-01'



Happy Coding!

Comentarios

Entradas más populares de este blog

¿Por qué me gusta programar?

El desarrollo de software (al igual que la música, la escultura o la pintura) es una actividad creativa y, hasta si se quiere, artística. Cuando un músico escucha una melodía que acaba de componer o cuando un escultor retoca el último detalle de su obra maestra, está ante un logro personal, pero que fue hecho pensando en los demás. Está ante el fruto de su trabajo, que tuvo que realizar para pasar de una idea o modelo que estaba solo en su imaginación, a algo perceptible por los otros. Y ese logro causa una gran satisfacción. El desarrollo de software (al igual que la música, la escultura o la pintura) es una actividad creativa y, hasta si se quiere, artística. Es una actividad en la que una persona (el programador) debe plasmar una idea en un programa que alguien usará luego. Y es muy probable que esa idea sea algo totalmente novedoso, algo que nadie antes ha visto. Y ver esa idea traducida en software produce una sensación que únicamente un programador puede entender...

Migración de ext4 a BTRFS: Mi experiencia con Debian 12

Recientemente me embarqué en la aventura de migrar mi sistema Debian 12 del tradicional sistema de archivos ext4 a BTRFS. En este artículo, comparto mi experiencia completa, desde la planificación hasta la implementación final, incluyendo los obstáculos que encontré y cómo los superé. ¿Por qué migrar a BTRFS? Antes de entrar en los detalles técnicos, quiero explicar brevemente por qué decidí dar este salto: Instantáneas (snapshots) : La capacidad de crear puntos de restauración del sistema de forma rápida y eficiente. Compresión transparente : Ahorro de espacio en disco sin sacrificar rendimiento. Checksums para integridad : Protección automática contra la corrupción silenciosa de datos. Balanceo inteligente : Redistribución de datos que optimiza el uso del almacenamiento. Preparación para el futuro : BTRFS sigue evolucionando con nuevas características. Mi configuración inicial Mi sistema contaba con la siguiente estructura: /dev/sdb1 - 512M - Partición EFI /dev/sdb2 - 58.8G -...

USA tu CELULAR como WEBCAM en el MSN

Este tutorial lo saque de CLUB MOTOROLA ARGENTINA. Es muy bueno, para los que no tenemos una webcam. Ademas de que le podemos sacar mas provecho a nuestor celular. Mi telefono es un C650, y funciono de maravilla. *********************** (Este tuto sirve solo para los motorola VXXX y algunos CXXX) 1º Bajan estos dos programas. Soft Cam junto con su Crack Motocam 2º Abren el motocam y le dan click a lo que esta en el cuadro rojo. 3º ponen todas esas configuraciones como indican las imagenes. 4º Le dan click a Ok 5º Instalan el soft cam y el crack 6º Mueven la palanquita que dice Stored a Live y la de Still a move 7º Vuelven al Motocam y le dan click a WebCam - Start 8º Ubican el cuadro dorado del SoftCam sobre lo q ve la camara. Y ya tienen su webcam en el msn!! Gracias capocha por la GRAN ayuda! Esto lo probe en un v3black; y un v635; anduvo en los dos. Hagan sus pruebas ustedes mismos. Cuenten como les fue y con q cel lo hicieron. No esperen q ande como cuando ponen el visor para s...