Consultas de un novato

01/10/2005 - 22:19 por Carlos Balestrini | Informe spam
Disculpen mis preguntas bobas. Soy muy novato en esto de SQL.
En realidad lo estoy usando porque estoy verificando el buen funcionamiento
de un site que se esta construyendo y determinar información necesaria para
poder hacer una mejor utilización del mismo.
Estoy utilizando una computadora que no tiene acceso directo a la base de
datos sino que ve back-ups de la misma.
El windows XP esta en inglês y el SQL tambien.
La base esta armada en português. El motivo es que aunque soy de habla
hispana (argentino) trabajo para una empresa brasileira. Pido de antemano
disculpas si aveces me salem palabras o frases en português.

Primer Consulta, tema fechas:

En varios apuntes sobre la utilización de SQL (obtención de consultas, etc.)
he visto que para filtrar por fecha, la misma se pone entre comillas,
ejemplo "23/09/2005".
Con este SQL debo poner '09-23-2005' (no dobles comillas sino simples)
Alguien sabe porque?

No se si esta bien pero todos los campos fecha los tengo con este formato:
2003-10-23 11:03:11.533
Yo quiero hacer una busqueda colocando solo la fecha (no la hora) y no tengo
resultados. Me veo obligado a usar la palabra between.
Como se hace la busqueda de una fecha, por ejemplo: los registros
cadastrados el día: 23/09/2005.

Como se hace para una busqueda por mes: p.e.: todos los registros
cadastrados el mes de septiembre.

Como se hace para que el resultado me muestre la fecha pero no la hora, es
decir me muestre solo la parte: 2003-10-23. Lo mismo para mostrar solo el
día, o el mes, o el año.

Muchas gracias por leer este e-mail y espero haber sido claro.
Tengo muchas mas dudas y consultas mas prefiero fazerlas de a poco mientras
vou procesando las respuestas a ellas.

Um abraço a todos

Carlos Balestrini

Preguntas similare

Leer las respuestas

#1 Jorge
02/10/2005 - 00:33 | Informe spam
Hola en principio te recomiendo que siempre utilices el formato de fecha
ansi aaaammdd, para tu caso deberas usuar varias funciones por ej.

select * from tabla where convert(char(10),fecha_buscada,121)='2005-10-01'

y consulta en la ayuda del sql las funciones datepart,month,getdate(),
datediff, dateadd

para mostrar los resultados usa la funcion convert com esta descrita
anteriormente

Maxi , hizo un articulo muy bueno en MTJ acerca del uso de las fechas,
ahora no tengo el link exacto seguro que el nos los pasa.

jorge



"Carlos Balestrini" wrote in message
news:
Disculpen mis preguntas bobas. Soy muy novato en esto de SQL.
En realidad lo estoy usando porque estoy verificando el buen
funcionamiento de un site que se esta construyendo y determinar
información necesaria para poder hacer una mejor utilización del mismo.
Estoy utilizando una computadora que no tiene acceso directo a la base de
datos sino que ve back-ups de la misma.
El windows XP esta en inglês y el SQL tambien.
La base esta armada en português. El motivo es que aunque soy de habla
hispana (argentino) trabajo para una empresa brasileira. Pido de antemano
disculpas si aveces me salem palabras o frases en português.

Primer Consulta, tema fechas:

En varios apuntes sobre la utilización de SQL (obtención de consultas,
etc.) he visto que para filtrar por fecha, la misma se pone entre
comillas, ejemplo "23/09/2005".
Con este SQL debo poner '09-23-2005' (no dobles comillas sino simples)
Alguien sabe porque?

No se si esta bien pero todos los campos fecha los tengo con este formato:
2003-10-23 11:03:11.533
Yo quiero hacer una busqueda colocando solo la fecha (no la hora) y no
tengo resultados. Me veo obligado a usar la palabra between.
Como se hace la busqueda de una fecha, por ejemplo: los registros
cadastrados el día: 23/09/2005.

Como se hace para una busqueda por mes: p.e.: todos los registros
cadastrados el mes de septiembre.

Como se hace para que el resultado me muestre la fecha pero no la hora, es
decir me muestre solo la parte: 2003-10-23. Lo mismo para mostrar solo el
día, o el mes, o el año.

Muchas gracias por leer este e-mail y espero haber sido claro.
Tengo muchas mas dudas y consultas mas prefiero fazerlas de a poco
mientras vou procesando las respuestas a ellas.

Um abraço a todos

Carlos Balestrini





Respuesta Responder a este mensaje
#2 Carlos Balestrini
03/10/2005 - 13:53 | Informe spam
Muchas Gracias Jorge.

Me ha sido muy útil.
Voy a seguir haciendo cosas y con seguridad colocando mas consultas o dudas
aqui.

Espero que Maxi, o algún otro, me pueda informar sobre el link que
mencionas.

Carlos Balestrini

"Jorge" wrote in message
news:
Hola en principio te recomiendo que siempre utilices el formato de fecha
ansi aaaammdd, para tu caso deberas usuar varias funciones por ej.

select * from tabla where convert(char(10),fecha_buscada,121)='2005-10-01'

y consulta en la ayuda del sql las funciones datepart,month,getdate(),
datediff, dateadd

para mostrar los resultados usa la funcion convert com esta descrita
anteriormente

Maxi , hizo un articulo muy bueno en MTJ acerca del uso de las fechas,
ahora no tengo el link exacto seguro que el nos los pasa.

jorge



"Carlos Balestrini" wrote in message
news:
Disculpen mis preguntas bobas. Soy muy novato en esto de SQL.
En realidad lo estoy usando porque estoy verificando el buen
funcionamiento de un site que se esta construyendo y determinar
información necesaria para poder hacer una mejor utilización del mismo.
Estoy utilizando una computadora que no tiene acceso directo a la base de
datos sino que ve back-ups de la misma.
El windows XP esta en inglês y el SQL tambien.
La base esta armada en português. El motivo es que aunque soy de habla
hispana (argentino) trabajo para una empresa brasileira. Pido de antemano
disculpas si aveces me salem palabras o frases en português.

Primer Consulta, tema fechas:

En varios apuntes sobre la utilización de SQL (obtención de consultas,
etc.) he visto que para filtrar por fecha, la misma se pone entre
comillas, ejemplo "23/09/2005".
Con este SQL debo poner '09-23-2005' (no dobles comillas sino simples)
Alguien sabe porque?

No se si esta bien pero todos los campos fecha los tengo con este
formato:
2003-10-23 11:03:11.533
Yo quiero hacer una busqueda colocando solo la fecha (no la hora) y no
tengo resultados. Me veo obligado a usar la palabra between.
Como se hace la busqueda de una fecha, por ejemplo: los registros
cadastrados el día: 23/09/2005.

Como se hace para una busqueda por mes: p.e.: todos los registros
cadastrados el mes de septiembre.

Como se hace para que el resultado me muestre la fecha pero no la hora,
es decir me muestre solo la parte: 2003-10-23. Lo mismo para mostrar
solo el día, o el mes, o el año.

Muchas gracias por leer este e-mail y espero haber sido claro.
Tengo muchas mas dudas y consultas mas prefiero fazerlas de a poco
mientras vou procesando las respuestas a ellas.

Um abraço a todos

Carlos Balestrini









Respuesta Responder a este mensaje
#3 Carlos Sacristán
03/10/2005 - 14:47 | Informe spam
Sin ir más lejos, dicho artículo lo puedes encontrar en
http://www.microsoft.com/spanish/ms...art157.asp

Ahora bien, una cosa te comento respecto a esa consulta, y es que aunque
tengas un índice sobre el campo 'fecha_buscada', el uso de CONVERT va a
imposibilitar su uso.


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Carlos Balestrini" escribió en el mensaje
news:
Muchas Gracias Jorge.

Me ha sido muy útil.
Voy a seguir haciendo cosas y con seguridad colocando mas consultas o


dudas
aqui.

Espero que Maxi, o algún otro, me pueda informar sobre el link que
mencionas.

Carlos Balestrini

"Jorge" wrote in message
news:
> Hola en principio te recomiendo que siempre utilices el formato de fecha
> ansi aaaammdd, para tu caso deberas usuar varias funciones por ej.
>
> select * from tabla where


convert(char(10),fecha_buscada,121)='2005-10-01'
>
> y consulta en la ayuda del sql las funciones datepart,month,getdate(),
> datediff, dateadd
>
> para mostrar los resultados usa la funcion convert com esta descrita
> anteriormente
>
> Maxi , hizo un articulo muy bueno en MTJ acerca del uso de las fechas,
> ahora no tengo el link exacto seguro que el nos los pasa.
>
> jorge
>
>
>
> "Carlos Balestrini" wrote in message
> news:
>> Disculpen mis preguntas bobas. Soy muy novato en esto de SQL.
>> En realidad lo estoy usando porque estoy verificando el buen
>> funcionamiento de un site que se esta construyendo y determinar
>> información necesaria para poder hacer una mejor utilización del mismo.
>> Estoy utilizando una computadora que no tiene acceso directo a la base


de
>> datos sino que ve back-ups de la misma.
>> El windows XP esta en inglês y el SQL tambien.
>> La base esta armada en português. El motivo es que aunque soy de habla
>> hispana (argentino) trabajo para una empresa brasileira. Pido de


antemano
>> disculpas si aveces me salem palabras o frases en português.
>>
>> Primer Consulta, tema fechas:
>>
>> En varios apuntes sobre la utilización de SQL (obtención de consultas,
>> etc.) he visto que para filtrar por fecha, la misma se pone entre
>> comillas, ejemplo "23/09/2005".
>> Con este SQL debo poner '09-23-2005' (no dobles comillas sino simples)
>> Alguien sabe porque?
>>
>> No se si esta bien pero todos los campos fecha los tengo con este
>> formato:
>> 2003-10-23 11:03:11.533
>> Yo quiero hacer una busqueda colocando solo la fecha (no la hora) y no
>> tengo resultados. Me veo obligado a usar la palabra between.
>> Como se hace la busqueda de una fecha, por ejemplo: los registros
>> cadastrados el día: 23/09/2005.
>>
>> Como se hace para una busqueda por mes: p.e.: todos los registros
>> cadastrados el mes de septiembre.
>>
>> Como se hace para que el resultado me muestre la fecha pero no la hora,
>> es decir me muestre solo la parte: 2003-10-23. Lo mismo para mostrar
>> solo el día, o el mes, o el año.
>>
>> Muchas gracias por leer este e-mail y espero haber sido claro.
>> Tengo muchas mas dudas y consultas mas prefiero fazerlas de a poco
>> mientras vou procesando las respuestas a ellas.
>>
>> Um abraço a todos
>>
>> Carlos Balestrini
>>
>>
>>
>>
>>
>
>


Respuesta Responder a este mensaje
#4 Maxi
03/10/2005 - 23:00 | Informe spam
Hola, es totalmente cierto lo que indica el amigo!! recordar que:

Where funcion(campo) = valor (no usa indices)

Un abrazo


Salu2
Maxi


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Sin ir más lejos, dicho artículo lo puedes encontrar en
http://www.microsoft.com/spanish/ms...art157.asp

Ahora bien, una cosa te comento respecto a esa consulta, y es que
aunque
tengas un índice sobre el campo 'fecha_buscada', el uso de CONVERT va a
imposibilitar su uso.


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Carlos Balestrini" escribió en el mensaje
news:
Muchas Gracias Jorge.

Me ha sido muy útil.
Voy a seguir haciendo cosas y con seguridad colocando mas consultas o


dudas
aqui.

Espero que Maxi, o algún otro, me pueda informar sobre el link que
mencionas.

Carlos Balestrini

"Jorge" wrote in message
news:
> Hola en principio te recomiendo que siempre utilices el formato de
> fecha
> ansi aaaammdd, para tu caso deberas usuar varias funciones por ej.
>
> select * from tabla where


convert(char(10),fecha_buscada,121)='2005-10-01'
>
> y consulta en la ayuda del sql las funciones datepart,month,getdate(),
> datediff, dateadd
>
> para mostrar los resultados usa la funcion convert com esta descrita
> anteriormente
>
> Maxi , hizo un articulo muy bueno en MTJ acerca del uso de las
> fechas,
> ahora no tengo el link exacto seguro que el nos los pasa.
>
> jorge
>
>
>
> "Carlos Balestrini" wrote in message
> news:
>> Disculpen mis preguntas bobas. Soy muy novato en esto de SQL.
>> En realidad lo estoy usando porque estoy verificando el buen
>> funcionamiento de un site que se esta construyendo y determinar
>> información necesaria para poder hacer una mejor utilización del
>> mismo.
>> Estoy utilizando una computadora que no tiene acceso directo a la base


de
>> datos sino que ve back-ups de la misma.
>> El windows XP esta en inglês y el SQL tambien.
>> La base esta armada en português. El motivo es que aunque soy de habla
>> hispana (argentino) trabajo para una empresa brasileira. Pido de


antemano
>> disculpas si aveces me salem palabras o frases en português.
>>
>> Primer Consulta, tema fechas:
>>
>> En varios apuntes sobre la utilización de SQL (obtención de consultas,
>> etc.) he visto que para filtrar por fecha, la misma se pone entre
>> comillas, ejemplo "23/09/2005".
>> Con este SQL debo poner '09-23-2005' (no dobles comillas sino simples)
>> Alguien sabe porque?
>>
>> No se si esta bien pero todos los campos fecha los tengo con este
>> formato:
>> 2003-10-23 11:03:11.533
>> Yo quiero hacer una busqueda colocando solo la fecha (no la hora) y no
>> tengo resultados. Me veo obligado a usar la palabra between.
>> Como se hace la busqueda de una fecha, por ejemplo: los registros
>> cadastrados el día: 23/09/2005.
>>
>> Como se hace para una busqueda por mes: p.e.: todos los registros
>> cadastrados el mes de septiembre.
>>
>> Como se hace para que el resultado me muestre la fecha pero no la
>> hora,
>> es decir me muestre solo la parte: 2003-10-23. Lo mismo para mostrar
>> solo el día, o el mes, o el año.
>>
>> Muchas gracias por leer este e-mail y espero haber sido claro.
>> Tengo muchas mas dudas y consultas mas prefiero fazerlas de a poco
>> mientras vou procesando las respuestas a ellas.
>>
>> Um abraço a todos
>>
>> Carlos Balestrini
>>
>>
>>
>>
>>
>
>






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