Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-10-2003
Avatar de sarackganda
sarackganda sarackganda is offline
Miembro
 
Registrado: may 2003
Posts: 28
Poder: 0
sarackganda Va por buen camino
To_date

¿Existe en SqlServer alguna función con la funcionalidad del TO_DATE de Oracle?, estoy trabajando en SqlServer 7, pero si la solución solo funciona en 2000 será bienvenida.
A grandes rasgos el TO_DATE de Oracle, convierte un string a un tipo DATE (Fecha+Hora) especificando la máscara del string pasado, por ejemplo:

TO_DATE('28/02/2003', 'DD/MM/YYYY')
TO_DATE('02/28/2003', 'MM/DD/YYYY')
TO_DATE('20030228', 'YYYYMMDD')
TO_DATE('28/02/2003 05:45:00', 'DD/MM/YYYY HH:MI:SS')



Chagracia!
__________________
Sarackgand in the workshop wrassaraba!
Responder Con Cita
  #2  
Antiguo 08-10-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Mira en la documentación la sintaxis y parámetros de la función CONVERT.

Por cierto, si hubieses buscado en la documentación de SQL Server la palabra TO_DATE, te hubiese enviado directamente al documento de migración de funciones de Oracle a SQL Server, donde te indica que debes usar las funciones CAST y CONVERT de SQL Server.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 08-10-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
A mi parecer ni el CAST ni el CONVERT tienen toda la funcionalidad del TO_DATE, ya que el TO_DATE es mucho mas flexible permitiéndonos aclarar la máscara, sin tener que atarnos a una lista de estilos predeterminada como la de SqlServer.
Con el TO_DATE podríamos hacer locuras como TO_DATE('HORA:12 MINUTOS:03 SEGUNDOS:33', '"HORA:"HH" MINUTOS:"MI" SEGUNDOS:"SS'), y sabría de dónde tomar el dato de la hora, minuto y segundo, que desconozco como hacerlas desde SqlServer.

Con el cast tendríamos problemas con fechas como 01/02/2003 donde supongo que dependerá de la configuración de la sesión si el mes es 01 o 02.


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 08-10-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
En efecto el CAST es la menos recomendable de todas, y la función CONVERT está limitada a la lista predeterminada.

Para convertir algo como TO_DATE('HORA:12 MINUTOS:03 SEGUNDOS:33', '"HORA:"HH" MINUTOS:"MI" SEGUNDOS:"SS'), en SQL Server tendrias que jugar con el SUBSTRING para sacar las partes de la hora, y construir una de las cadenas que si puede convertir.

SET @Variable = 'HORA:12 MINUTOS:03 SEGUNDOS:33'
select CAST(SUBSTRING(@Variable, 6, 2) + ':' + SUBSTRING(@Variable, 18, 2) + ':' SUBSTRING(@Variable, 30, 2) as DATETIME)

Sin duda es mucho más incomodo.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:36:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi