[firebase-br] Res: Converter um campo inteiro para data
Welson Avelar
welson_avelar em yahoo.com.br
Seg Out 16 23:01:07 -03 2006
Pra armazenar o valor no campo, eu trunco o valor passado no programa, usando a função Trunc().
Daí armazena, por exemplo, algo como 38853 para a data 28/06/2006 (não tenho certeza da verdade dessa data, é apenas exemplo)
Dessa forma, as datas são contadas a partir de Dezembro de 1899 (acho que é 1899 mesmo. ou seria 1900 ?! oO)
Em suma, com a função Trunc() eu pego o número 38853,125 (hipotético) e gravo somente 38853, que é a parte correspondente a data. O "número quebrado" corresponde as horas.
E eu tamb[em concordo: nada de UDFs. Pelo menos enquanto eu não encontrar uma outra solução.
Obrigado amigos. Sucessos.
=================================
"O que me preocupa não é o grito dos maus. É o silêncio dos bons."
Martin Luther King.
=================================
Welson de Avelar Soares Filho
Analista/Programador Delphi
Gemini Sistemas
Juiz de Fora - Minas Gerais
=================================
----- Mensagem original ----
De: Eduardo Jedliczka (TeamFB):
bom, primeiramente não sabemos como as datas estão gravadas na base do
Welson Avelar, por isto qualquer especulação tem uma probabilidade de ajuda
relativamente pequena.
Acabei demonstrando duas possibilidades (data formatada como inteiro, e dias
passados desde 1900), que são disparadamente as mais utilizadas. Mas há
inúmeras outras possibilidades: ano + número da semana do ano + dia da
semana ou ano + número do dia do ano.
Apesar de não serem elegantes, elas funcionam... Mas como serão utilizadas
baseadas em campos de tabelas existentes no banco de dados, pode-se criar
uma VIEW ou Campo Calculado (COMPUTED BY) para torná-las mais amigáveis ao
DBA / utilizador. Em caso de alteração, pode-se ainda escrever uma trigger
que atualize o campo correto.
Quanto à usar UDF... eu procuro evitar o máximo que eu puder... e as razões
são simples: São muito fáceis de fazer em windows, razoáveis em linux,
ligeiramente difíceis em FreeBSD, e quase que inviáveis em outros UNICES e
plataformas não-X86. Isto sem contar a necessidade de copiá-las para a pasta
UDF após a instalação, e preucauções extras com o restore (em algumas
plataformas).
Claro que quem administra um único servidor não terá dificuldades, mas
quando precisa dar atendimento telefônico para dezenas de "clientes
leigos"...
Sendo assim, entendam esta mensagem como uma humilde opinião (sem falsa
modéstia) e não como uma verdade imutável ou crítica.
======================
Eduardo Jedliczka
Membro do TeamFB - FireBase
Apucarana - PR
======================
"Posso não concordar com nada do que dizes.
Mas defenderei até a morte o seu direito de dizê-lo"
(Voltaire 1694-1778)
_______________________________________________________
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora!
http://br.mobile.yahoo.com/mailalertas/
Mais detalhes sobre a lista de discussão lista