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

#11 Maxi
26/06/2006 - 19:57 | Informe spam
Hola, a mi forma de verlo: El verdadero dato es una fecha y luego el año y
el mes son partes de esa fecha. Por eso digo de tener el dato como realmente
es y luego si quiero tener partes del mismo armar campos calculados pero
nunca perder el dato en su tipo de dato. Por ej tenerlo en fechas podrias
usar todas las funciones definidas por SQL para este tratamiento, si armas
tu tipo de dato tambien vas a tener q armar sus funciones


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


"Ele" escribió en el mensaje
news:
..cual es la conclusion, cual es la ventaja y desventaja se usar un campo
alternativo para el año y mes que no es de tipo time..

"Maxi" escribió en el mensaje
news:
:-), me sacaste la respuesta ;-), mira, el otro dia di una charla de Best
Practice y lo primero q dije: Usen los tipos de datos correctos,
mostramos indices, etc.
En la web de mi firma tienen los ejemplos de todo eso y porque hay q usar
indices, de porque no hay q usar cursores, de porque el SQLdinamico puede
ser un problema, etc, etc



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


"Isaias" escribió en el mensaje
news:
Ele

Yo creo que hasta en este caso, SQL Server te da soporte, puedes
almacenar
los datos como mejor te convenga, explotar la informacion de la mejor
forma,
creo que el comentario de Maxi va enfocado al NIVEL DE RESPUESTA
(Performance) que te dara tu motor si lo haces como nos estas
comentando.

Y te pongo un ejemplo:

Me he encontrado gente en el grupo de bases de datos que dicen: "Yo no
le
veo caso (uso de) a los INDICES", una vez que les explicas que si no
tienen
indices, el acceso a los registros sera de forma SECUENCIAL (uno tras de
otro), en las busquedas, por lo tanto, se volveran LENTAS y aun asi,
insisten
en QUE NO LE VEN UN USO o EXPLICACION para generarlos, pues adelante,
que
sigan leyendo sus registros de forma secuencial, ya me contaran que
nivel de
repuesta tienen cuando andes por el millon de registros.
Saludos
IIslas


"Ele" wrote:

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
#12 Ele
26/06/2006 - 23:04 | Informe spam
Cuando me refiero a dato entero es el campo calculado que guarda la
referencia de la fecha solo de las 2 partes(año y mes) esto ayuda (segun mi
teoria) auna busqueda mas rapida y no reemplaza al dato fecha ni mucho
menos, solo es un truco para accesar al año-mes de esa fecha..
cualquier comentario bienvenido
"Maxi" escribió en el mensaje
news:
Hola, a mi forma de verlo: El verdadero dato es una fecha y luego el año y
el mes son partes de esa fecha. Por eso digo de tener el dato como
realmente es y luego si quiero tener partes del mismo armar campos
calculados pero nunca perder el dato en su tipo de dato. Por ej tenerlo en
fechas podrias usar todas las funciones definidas por SQL para este
tratamiento, si armas tu tipo de dato tambien vas a tener q armar sus
funciones


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


"Ele" escribió en el mensaje
news:
..cual es la conclusion, cual es la ventaja y desventaja se usar un
campo alternativo para el año y mes que no es de tipo time..

"Maxi" escribió en el mensaje
news:
:-), me sacaste la respuesta ;-), mira, el otro dia di una charla de
Best Practice y lo primero q dije: Usen los tipos de datos correctos,
mostramos indices, etc.
En la web de mi firma tienen los ejemplos de todo eso y porque hay q
usar indices, de porque no hay q usar cursores, de porque el SQLdinamico
puede ser un problema, etc, etc



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


"Isaias" escribió en el mensaje
news:
Ele

Yo creo que hasta en este caso, SQL Server te da soporte, puedes
almacenar
los datos como mejor te convenga, explotar la informacion de la mejor
forma,
creo que el comentario de Maxi va enfocado al NIVEL DE RESPUESTA
(Performance) que te dara tu motor si lo haces como nos estas
comentando.

Y te pongo un ejemplo:

Me he encontrado gente en el grupo de bases de datos que dicen: "Yo no
le
veo caso (uso de) a los INDICES", una vez que les explicas que si no
tienen
indices, el acceso a los registros sera de forma SECUENCIAL (uno tras
de
otro), en las busquedas, por lo tanto, se volveran LENTAS y aun asi,
insisten
en QUE NO LE VEN UN USO o EXPLICACION para generarlos, pues adelante,
que
sigan leyendo sus registros de forma secuencial, ya me contaran que
nivel de
repuesta tienen cuando andes por el millon de registros.
Saludos
IIslas


"Ele" wrote:

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
#13 Maxi
27/06/2006 - 15:08 | Informe spam
ok, yo hago lo mismo pero con campos calculados y dejando el campo fecha,
creo que estamos hablando de las mismas cuestiones


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


"Ele" escribió en el mensaje
news:%
Cuando me refiero a dato entero es el campo calculado que guarda la
referencia de la fecha solo de las 2 partes(año y mes) esto ayuda (segun
mi teoria) auna busqueda mas rapida y no reemplaza al dato fecha ni mucho
menos, solo es un truco para accesar al año-mes de esa fecha..
cualquier comentario bienvenido
"Maxi" escribió en el mensaje
news:
Hola, a mi forma de verlo: El verdadero dato es una fecha y luego el año
y el mes son partes de esa fecha. Por eso digo de tener el dato como
realmente es y luego si quiero tener partes del mismo armar campos
calculados pero nunca perder el dato en su tipo de dato. Por ej tenerlo
en fechas podrias usar todas las funciones definidas por SQL para este
tratamiento, si armas tu tipo de dato tambien vas a tener q armar sus
funciones


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


"Ele" escribió en el mensaje
news:
..cual es la conclusion, cual es la ventaja y desventaja se usar un
campo alternativo para el año y mes que no es de tipo time..

"Maxi" escribió en el mensaje
news:
:-), me sacaste la respuesta ;-), mira, el otro dia di una charla de
Best Practice y lo primero q dije: Usen los tipos de datos correctos,
mostramos indices, etc.
En la web de mi firma tienen los ejemplos de todo eso y porque hay q
usar indices, de porque no hay q usar cursores, de porque el
SQLdinamico puede ser un problema, etc, etc



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


"Isaias" escribió en el mensaje
news:
Ele

Yo creo que hasta en este caso, SQL Server te da soporte, puedes
almacenar
los datos como mejor te convenga, explotar la informacion de la mejor
forma,
creo que el comentario de Maxi va enfocado al NIVEL DE RESPUESTA
(Performance) que te dara tu motor si lo haces como nos estas
comentando.

Y te pongo un ejemplo:

Me he encontrado gente en el grupo de bases de datos que dicen: "Yo no
le
veo caso (uso de) a los INDICES", una vez que les explicas que si no
tienen
indices, el acceso a los registros sera de forma SECUENCIAL (uno tras
de
otro), en las busquedas, por lo tanto, se volveran LENTAS y aun asi,
insisten
en QUE NO LE VEN UN USO o EXPLICACION para generarlos, pues adelante,
que
sigan leyendo sus registros de forma secuencial, ya me contaran que
nivel de
repuesta tienen cuando andes por el millon de registros.
Saludos
IIslas


"Ele" wrote:

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
>>
>>
>
>





















email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida