![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Estimados, probe los cambios con FormatDateTime y las cosas me van de maravilllas, ahora supongamos lo siguiente cuando hago una consulta a una tabla con una columna de tipo datetime me lo muestra de la siguiente manera 2007-06-25 13:30:21.857, como hago para que me muestre dia, mes y año y luego la fecha, como cambio el formato de visualizacion, y si logro cambiarlo esto sera para siempre???
desde ya , gracias. un abrazo a todos. |
|
#2
|
||||
|
||||
|
Hablas de delphi, o de sql server?
En sql server tienes la funcion CAST y CONVERT, que te permiten formatear una fecha. Tienen varios formatos preestablecidos, pero te permiten tambien especificar el formato en el que quieres mostrarlo. Para establecer el formato de fecha del servidor tambien tienen una propiedad, SET DATEFORMAT, que puedes utilizar. Puedes buscar informacion en los books online de sql server
__________________
Héctor Geraldino Software Engineer |
|
#3
|
|||
|
|||
|
Estimados,estoy trabajando con sql 2000, utilizando la funcion convert de la siguiente manera select convert(varchar,getdate(),101) y cambiando el 101 por las opciones que obtengo de la ayuda observo los datos ok, pero cuando quiero formatear la hora para la sesion de esta manera SET DATEFORMAT 'mm/dd/yyyy' me da el siguiente error
SET DATEFORMAT date order 'mm/dd/yyyy' is invalid. Otra cosita cual es el formato que tiene por defecto el mssql 2000.\ muchas gracias. Abrazo. |
|
#4
|
||||
|
||||
|
El formato por defecto de las fechas de MS SQL Server es el formato propio de la configuración regional de Windows. Si cambias la configuración regional de Windows, automáticamente cambias el formato de visualización en SQL Server.
Una sugerencia más: para enviarle fechas al sql server existe un formato estándar, el cual es yyyymmdd con comillas simples, ejemplo: Código:
select * from movimientos where Fecha = '20070711' Código:
with ADOQuery1 do
begin
SQL.Clear;
SQL.Add('select * from Movimientos');
SQL.Add('where Fecha = ''' + FormatDateTime('yyyymmdd', dFecha) + '''');
Open;
end;
Saludos
__________________
Tiempo y ocasión acontecen a todos! |
|
#5
|
|||
|
|||
|
El formato de la fecha de SQL por defecto es como dice nuk3zito
pero puede ser configurado. SQL Server permite configurar los formatos de fecha, moneda etc por usuario por Base de datos. O sea un mismo usuario puede tener formatos distintos en disitintas BD o una misma BD puede devolver la fecha, moneda etc en disitinto formato en dependencia del usuario con el cual se conecte a la BD para realizar la consulta. Esto es configurable. Saludos. JCarlos |
|
#6
|
||||
|
||||
|
Cita:
__________________
Tiempo y ocasión acontecen a todos! |
|
#7
|
|||
|
|||
|
Quizas no me exprese bien.
Me referia al formato en que te devuelve la fecha el MS SQL Server en una cosulta del tipo: select Fecha from movimientos where ... Ese formato puede ser configurado en "Enterprise Manager" de MS SQL por el duo (usuario, BD). Saludos JCarlos |
|
#8
|
|||
|
|||
|
Cita:
Nota: Por nn me referi a los minutos Saludos a todos JCarlos |
|
#9
|
||||
|
||||
|
Cita:
Bueno, para horas solo existe un formato (pudiéramos hacer de cuenta que es el ANSI en vista de que no conozco otro, sáquenme del error en caso de estar mal informado) y es el hh:mm[:ss] como lo muestra el siguiente ejemplo. Código:
AdoQuery.SQL.Add('select * from Movimientos');
AdoQuery.SQL.Add('where fechahora >= ''20070724 10:00''');
AdoQuery.Open;
Sin embargo, si estamos creando estas consultas desde Delphi debo admitir que no me gusta para nada usar las horas de esta manera en el SQL Server. Lo hago como sigue: Cuando utilizo solo fechas en un query, efectivamente utilizo el formato ANSI. Cuando se trata de mezclar fechas y horas, yo prefiero enviarlo como un parámetro al componente, y dejar que el Delphi se encargue de hacer el trabajo sucio (Sin embargo, es válido hacerlo como especifiqué en el ejemplo anterior). Para que no haya dudas, les pondré el ejemplo de la alternativa que pueden seguir (y se evitan de broncas porque es más engorroso construir la cadena de fecha y hora y luego enviarlo a la consulta ): Código:
var
dtFechaHora: TDateTime;
begin
dtFechaHora:= EncodeDate(2007, 7, 24) + EncodeTime(10,0,0,0);
// tambien así es válido
dtFechaHora:= EncodeDateTime(2007, 7, 24, 10, 0, 0, 0);
...
AdoQuery.SQL.Add('select * from Movimientos');
AdoQuery.SQL.Add('where fechahora >= :FechaHora ');
AdoQuery.Parameters.ParamByName('FechaHora').Value:= dtFechaHora;
AdoQuery.Open;
__________________
Tiempo y ocasión acontecen a todos! |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Formato de fecha | GustavoCruz | SQL | 8 | 26-06-2007 04:39:11 |
| Formato fecha | Io | Varios | 2 | 22-08-2006 13:55:04 |
| formato de fecha | ebeltete | Varios | 2 | 22-06-2006 16:36:26 |
| Como cambiar el formato de un QRSysData en formato fecha | Bitbanner | Tablas planas | 1 | 13-02-2005 12:33:26 |
| Como Obviar el formato de Fecha del Servidor para Salvar sólo en formato "dd/mm/yyyy" | R_Richards | Varios | 4 | 07-02-2005 15:57:19 |
|