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

#6 Isaias
22/06/2006 - 20:51 | Informe spam
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
#7 Maxi
22/06/2006 - 20:53 | Informe spam
:-), 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
#8 seba_m
25/06/2006 - 06:13 | Informe spam
Ante todo, a todos muchas gracias, probare sus opicones y vere cual
resulta mejor, ahora mi pregunta es: Que es un indice y como los creo ?

Gracias
Respuesta Responder a este mensaje
#9 Maxi
25/06/2006 - 18:43 | Informe spam
Hola, un indice es una parte muy importante en las bases de datos. Un
ejemplo simple para que son utiles.

Supongamos que vos sos un empleado de una telefonica que estas en la seccion
de nuevas cuentas. Entonces viene un nuevo cliente y vos le asignas un nuevo
numero y lo pones en una ficha y si con cada cliente, como podras ver el
orden para la empresa sera por el numero de cliente que es el numero de
llegada y lo ordenas asi luego en los libros que agrupan las fichas.
Luego de haber recibido unos 10.000 clientes viene tu jefe y te pide: Me
podes traer todos los clientes que vienen en la ciudad X? puff, vos no los
tienes ordenados asi entonces no tienes otro remedio que ir ficha por ficha
y ver si la ciudad de esa ficha corresponde con lo que te piden, si es asi
la separas, pero un detalle, como podrias observar necesitas analizar las
10.000 fichas.
Si en lugar de solo tenerlo ordenado asi hubieras tenido algun indice por
ciudad donde te diga, esta ciudad esta entre el libro 1 y 5 o en las paginas
50 55, la busqueda seria mas simple porque no deberias recorrer todas las
fichas luego. Pero que pasa, cuando ingresas una nueva ficha tambien tenes
que tener la precaucion de hacer un trabajo extra que seria de actualizar
los indices.

Bueno esto que sucede en la vida real tambien sucede en las bdd y para eso
son util los indices, si ponemos el mismo caso en cualquier bdd y nos piden
algo que no esta en un indice entonces el motor debe recorrer todos los
registros para poder identificar cuales son los validos, a esto le llamamos
un tableScan. Si tenes un indice y lo puede usar la bdd entonces recorrera
muchos menos registros.

Revisa en tus libros on line sobre indices y CREATE INDEX



Salu2

Micrsoft MVP SQL Server
www.sqlgururs.org


"seba_m" wrote in message
news:
Ante todo, a todos muchas gracias, probare sus opicones y vere cual
resulta mejor, ahora mi pregunta es: Que es un indice y como los creo ?

Gracias

Respuesta Responder a este mensaje
#10 Ele
26/06/2006 - 19:05 | Informe spam
..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
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida