Solo mes y año en fechas en sql server 2000

22/06/2006 - 01:19 por seba_m | Informe spam
Gente,

Necesito saber como ingresar solo mes y año en sql servr, o convendria
usar un string ?

Gracias

Preguntas similare

Leer las respuestas

#1 Isaias
22/06/2006 - 01:57 | Informe spam
Jorge ya te dio un comentario, que aqui entre nosotros, no comparto.

Para el manejo de fechas tienes las funciones adecuadas, como por ejemplo:

SELECT DATEPART(dd, GETDATE()) -- El dia
SELECT DATEPART(yy, GETDATE()) -- El año
SELECT DATEPART(mm, GETDATE()) -- El mes

Tambien cuentas con MONTH(), DAY(), YEAR()

No te recomiendo que uses datos de tipo DATETIME, en formato string.
Saludos
IIslas


"seba_m" wrote:

Gente,

Necesito saber como ingresar solo mes y año en sql servr, o convendria
usar un string ?

Gracias


Respuesta Responder a este mensaje
#2 Jorge Gonzalez
22/06/2006 - 02:42 | Informe spam
SQL Server no te permite almacenar sólo mes y año. Para el tratamiento de
fechas se cuenta con datetime y smalldatetime, que almacena la fecha y hora
juntas, siendo la diferencia entre ambos el # de bytes que usa para
almacenar y por tanto los rangos mayores y menores de fecha hora que
almacena. No hay otra manera de almacenar fecha en SQL Server 2000 de forma
nativa así que hay que buscar otra solucióna tu problema.

Lo que menos te conviene es usar un varchar. Me imagino que vas a estar
consultando a menudo estas columnas y varchar sería la solución menos
eficiente, en mi opinión.

Tengo 2 alternativas:

1. Podrías usar una convención donde almacenas el día 1 del mes y año en
cuestión. Así en tus búsquedas podrías identificar por ejemplo Where Fecha =
'1/5/2006', en caso que buscaras el mes 5 del año 2006. Esto no es muy
elegante pero te funcionará.

2. Guardar el Mes y el año en columnas tipo tinyint y smallint
respectivamente. De forma que podrías hacer búsquedas Where Mes =5 and Anio
= 2006 siguiendo el mismo ejemplo.

Espero que esta info te sea de utilidad.

saludos
Jorge González

"seba_m" escribió en el mensaje
news:
Gente,

Necesito saber como ingresar solo mes y año en sql servr, o convendria
usar un string ?

Gracias
Respuesta Responder a este mensaje
#3 Ele
22/06/2006 - 17:46 | Informe spam
Hola yo esto lo resuelvo con int y me ha funcionado muy bien, su formato es
de 6 digitos; 4 para el año y 2 para el mes p.e. 200606 cuando quiero hacer
una busqueda recibo dos parametros @year, @month, y en el cuerpo del
procedimiento los concateno =@year*100+@month
see you

"seba_m" escribió en el mensaje
news:
Gente,

Necesito saber como ingresar solo mes y año en sql servr, o convendria
usar un string ?

Gracias
Respuesta Responder a este mensaje
#4 Maxi
22/06/2006 - 18:00 | Informe spam
Hola, es una forma pero a mi juicio bastante complicada de hacer y de
entender por el resto, si SQL no dispondria de ese tipo de datos estoy
deacuerdo, pero SQL dispone del tipo de datos Datetime y lo mas aconsejable
seria usarlo, por ej en tu caso no podrias usar funciones de fechas como
Dateadd o cualquier otra, te deberias escribir tus propias funciones de
fechas tambien, todo se puede hacer pero me parece que es un trabajo extra
que ya SQL tiene resuelto de otra manera


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Ele" escribió en el mensaje
news:
Hola yo esto lo resuelvo con int y me ha funcionado muy bien, su formato
es de 6 digitos; 4 para el año y 2 para el mes p.e. 200606 cuando quiero
hacer una busqueda recibo dos parametros @year, @month, y en el cuerpo del
procedimiento los concateno =@year*100+@month
see you

"seba_m" escribió en el mensaje
news:
Gente,

Necesito saber como ingresar solo mes y año en sql servr, o convendria
usar un string ?

Gracias


Respuesta Responder a este mensaje
#5 Ele
22/06/2006 - 19:37 | Informe spam
En mi caso yo necesito un 'nuevo tipo de dato' por asi decirlo osea solo el
año y el mes y nunca jamas se necesita convertirlo a fecha es solo un campo
numerico que tiene la referencia del año y del mes del campo fecha

"Maxi" escribió en el mensaje
news:%
Hola, es una forma pero a mi juicio bastante complicada de hacer y de
entender por el resto, si SQL no dispondria de ese tipo de datos estoy
deacuerdo, pero SQL dispone del tipo de datos Datetime y lo mas
aconsejable seria usarlo, por ej en tu caso no podrias usar funciones de
fechas como Dateadd o cualquier otra, te deberias escribir tus propias
funciones de fechas tambien, todo se puede hacer pero me parece que es un
trabajo extra que ya SQL tiene resuelto de otra manera


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Ele" escribió en el mensaje
news:
Hola yo esto lo resuelvo con int y me ha funcionado muy bien, su formato
es de 6 digitos; 4 para el año y 2 para el mes p.e. 200606 cuando quiero
hacer una busqueda recibo dos parametros @year, @month, y en el cuerpo
del procedimiento los concateno =@year*100+@month
see you

"seba_m" escribió en el mensaje
news:
Gente,

Necesito saber como ingresar solo mes y año en sql servr, o convendria
usar un string ?

Gracias






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida