Artigos em Destaque

Erros Clarion WSLDIAL 01, 02, 03 ou 04 Clarion WSLDIAL 01, 02, 03 ou 04 erros Estes são erros internos do programa. Nota para programadores WSLDIAL erro 01 pode ser: - Uma variável de tela ou relatório está faltando um? na frente...

Readmore

Função SQL Server para Converter Data/Hora em números... Os campos Data em Clarion são armazenados como o número inteiro (LONG) de dias de 28 de dezembro de 1800. E campos Hora em Clarion são o número de 1 / 100 segundos a partir da meia-noite + 1. Algumas...

Readmore

Integrando PHP com Flex usando XML Aprenda a integrar PHP com Flex usando XML. Este vídeo mostra como criar um script PHP que pode pegar dados de um banco de dados MySQL e gerar XML que o Flex pode facilmente ler e analisar. (Em inglês) Fonte:...

Readmore

Como usar Google Maps no Clarion O fabuloso Google, com suas facetas e interatividade Web 2.0: "O que seríamos, nós simples mortais, sem o Google?", pergunto. Dentre vários serviços oferecidos pelo Google, um o qual considero bastante...

Readmore

Meu primeiro Post! Um pouco sobre mim. Tenho 28 anos. Trabalho com TI desde que me conheço por gente. Nasci em Curitiba-PR, mas com 3 anos fui para Goioerê-PR. Atualmente resido em Maringá-PR, com minha esposa e duas filhas. Meu primeiro...

Readmore

  • Anterior
  • Proximo

Função SQL Server para Converter Data/Hora em números Inteiros Clarion

Publicado em: 27-09-2010 | Por: Adriano Santos | Em: Notícias

0

Os campos Data em Clarion são armazenados como o número inteiro (LONG) de dias de 28 de dezembro de 1800. E campos Hora em Clarion são o número de 1 / 100 segundos a partir da meia-noite + 1.

Algumas funções para ajudar você a converter no SQL Server:

CREATE FUNCTION dbo.SQL2ClaDate (@SQL_Date_Time DATETIME)
RETURNS INT AS
BEGIN
  RETURN ISNULL(CAST(DATEDIFF(d, '1800-12-28', @SQL_Date_Time) AS INT), 0)
END
 
CREATE FUNCTION dbo.SQL2ClaTime (@SQL_Date_Time DATETIME)
RETURNS INT AS
BEGIN
   RETURN ISNULL((CAST(DATEDIFF(ss, CONVERT(DATETIME, CONVERT(VARCHAR(10), @SQL_Date_Time, 120) + ' 00:00:00.000'), @SQL_Date_Time) AS INT) * 100) + 1, 0)
END
 
CREATE FUNCTION dbo.Cla2SQLDate (@Cla_Date INT)
RETURNS DATETIME AS
BEGIN
  RETURN DATEADD(day, @Cla_Date, '1800-12-28')
END
 
CREATE FUNCTION dbo.Cla2SQLTime (@Cla_Time INT)
RETURNS DATETIME AS
BEGIN
  RETURN DATEADD(second, INT((@Cla_Time - 1) / 100), 0)
END
 
CREATE FUNCTION dbo.Cla2SQLTimeStr (@Cla_Time INT)
RETURNS CHAR(12) AS
BEGIN
  RETURN RTRIM( RIGHT( (CAST(DATEADD(second, FLOOR((@Cla_Time - 1) / 100), 0) AS CHAR(24))), 13 ) )
END

Deixe um Comentário!