Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-01-2013
Edchar Edchar is offline
Miembro
NULL
 
Registrado: dic 2012
Posts: 25
Poder: 0
Edchar Va por buen camino
Smile Convertir Date en String en un COMPUTED BY

Hola estimados amigos, necesito su ayuda para crear el siguiente campo COMPUTED BY pero que mediante el campo fecha_cie extraiga el mes y el año pero que el resultado no sea numero sino texto.

Por ejemplo la fecha_cie seria 25/01/2013 así que el resultado en el campo COMPUTED BY debería de que dar así Enero-2013

El código que tengo es el siguiente pero el resultado es 01-2013

Código SQL [-]
CREATE TABLE TBL_CieCja (fecha_cie Date DEFAULT CURRENT_DATE NOT NULL, name DOM_FIRST_NAME,
                         mescont COMPUTED BY (extract(month from fecha_cie)||'-'||extract(year from fecha_cie)))

¿Como puedo hacer lo que quiero?
Saludos y muchas gracias
Responder Con Cita
  #2  
Antiguo 17-01-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¿Por qué deseas hacer eso a nivel de Firebird?

En Delphi solamente tendrías que asignar el siguiente formato a la propiedad DisplayFormat del campo fecha_cie: mmmm-yyyy.

Saludos.
Responder Con Cita
  #3  
Antiguo 17-01-2013
Edchar Edchar is offline
Miembro
NULL
 
Registrado: dic 2012
Posts: 25
Poder: 0
Edchar Va por buen camino
Muchas Gracias Al González por tu ayuda

Si entiendo que puedo crear un campo varchar que me permita contener el texto 'Enero-2013'
y que a nivel del sistema puedo pasar el texto 'Enero-2013' a dicho campo

Pero como ya tengo un campo fecha en la base de datos entonces deseo tener un campo de texto para el mes y año y que a nivel de la base de datos me haga eso.

Gracias y saludos
Responder Con Cita
  #4  
Antiguo 17-01-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Edchar Ver Mensaje
Si entiendo que puedo crear un campo varchar [...]
¿Crear un campo VarChar? Mmmm...yo no mencioné nada sobre eso.

Cita:
Empezado por Edchar Ver Mensaje
[...] ya tengo un campo fecha en la base de datos entonces deseo tener un campo de texto para el mes y año [...]
Es a lo que me referí anteriormente. Si ya tienes el campo, ¿para qué crear otro?

Cita:
Empezado por Edchar Ver Mensaje
[...] que a nivel de la base de datos me haga eso.
Vuelvo a preguntar: ¿Por qué deseas hacer eso a nivel de Firebird? Si sólo es para cuestiones de presentación en el lado cliente, no veo por qué evitar el uso de DisplayFormat, que para eso es esa propiedad.

Tal vez si nos explicas un poco más pueda yo comprender lo que buscas realmente.

Saludos.
Responder Con Cita
  #5  
Antiguo 17-01-2013
Edchar Edchar is offline
Miembro
NULL
 
Registrado: dic 2012
Posts: 25
Poder: 0
Edchar Va por buen camino
Bueno el asunto es que me parece que es un asunto de presentación pues me parece que puedo pasar a un Grid o Grilla los datos tal cual mediante un select o una vista así tendré una columna en dicha grilla en la que en vez que me presente la fecha completa me presente la que tiene solo el mes y el año.

Creo que es un asunto de facilitar la presentación de ciertos datos sin que yo tenga que manipularlos al nivel del programa.

Gracias.
Responder Con Cita
  #6  
Antiguo 17-01-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Edchar Ver Mensaje
[...] mediante un select o una vista [...] Creo que es un asunto de facilitar la presentación de ciertos datos sin que yo tenga que manipularlos al nivel del programa.
En ese caso estarás pidiéndole al servidor de base de datos que realice tareas que son competencia del programa: como la presentación. He visto con mucha frecuencia esta mala práctica de meter en la base de datos todo tipo de código.

Los servidores de bases de datos tienen un ámbito de trabajo muy particular. Si se les empieza a cargar con cuestiones que son más bien de otras capas de la aplicación, el trabajo que sí deben hacer (servir datos) se ve comprometido.

De todas formas, aún puedes usar una expresión con la que, dentro de un Select, obtengas el nombre del mes dando su número, esto mediante un Case.
Responder Con Cita
  #7  
Antiguo 17-01-2013
Edchar Edchar is offline
Miembro
NULL
 
Registrado: dic 2012
Posts: 25
Poder: 0
Edchar Va por buen camino
Sabes este punto que me estas mencionando es importante y en ese caso lo manejare como tu me dices y en ese caso mas bien a la hora de introducir los datos voy a hacer lo que tu me dices.

Muchas Gracias por tu ayuda pues estoy aprendiendo.

Saludos
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con Date y String Pancholp1986 PHP 6 18-03-2011 19:34:09
Convertir YYYYMMDD a date marilinspi Varios 15 20-01-2011 20:59:58
Convertir un Float a Date noob Varios 3 28-01-2009 19:25:20
convertir un date a string airam C++ Builder 2 25-07-2008 18:58:00
De string mm/dd/yyyy a Date CHiCoLiTa Varios 1 29-07-2004 17:26:26


La franja horaria es GMT +2. Ahora son las 15:02:42.


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