none
Converter Float para Time. RRS feed

  • Pergunta

  • Boa tarde !

     

    Por favor, gostaria de uma ajuda para trabalhar com dados do tipo Float.

    Tenho dados de hora no formato float (Exemplo: 12,57 - doze horas e cinquenta e sete minutos) e preciso trabalhar com eles no Reporting Services como Time.

    Sou novato na área. Peço desculpas se estou postando no local errado.

    Obrigado !!!

    quinta-feira, 14 de abril de 2011 16:09

Respostas

  • Gaeo,

     

    Voce irá utilizar esse campo para calculos no relatorio? Uma forma de formatar como Hora seria:

    =right("0"+trim(Mid(Fields!Seucampo.Value ,1,2)),2) & ":" & right("0"+trim(Mid(Fields!Seucampo.Value,3,2)),2)

    Sintaxe:

    Mid= indica o inicio e a quantidade caracteres voce deseja que seja exebido

    trim = remove os espaços em branco

    right = adiciona uma string "0"  (se o float for "1,32", então utilizando somente o mid o retorno seria 1:32, com essa opção o retorno muda para 01:32) 

     

     


    Andressa Martins Twitter: @Dre_Martins Blog: sqlgo.wordpress.com
    • Marcado como Resposta Gaeo sábado, 16 de abril de 2011 15:33
    sexta-feira, 15 de abril de 2011 14:48

Todas as Respostas

  • Gaeo,

     

    Voce irá utilizar esse campo para calculos no relatorio? Uma forma de formatar como Hora seria:

    =right("0"+trim(Mid(Fields!Seucampo.Value ,1,2)),2) & ":" & right("0"+trim(Mid(Fields!Seucampo.Value,3,2)),2)

    Sintaxe:

    Mid= indica o inicio e a quantidade caracteres voce deseja que seja exebido

    trim = remove os espaços em branco

    right = adiciona uma string "0"  (se o float for "1,32", então utilizando somente o mid o retorno seria 1:32, com essa opção o retorno muda para 01:32) 

     

     


    Andressa Martins Twitter: @Dre_Martins Blog: sqlgo.wordpress.com
    • Marcado como Resposta Gaeo sábado, 16 de abril de 2011 15:33
    sexta-feira, 15 de abril de 2011 14:48
  • Oi Andressa, bom dia |

    Obrigado pela atenção !

     

    Eu fiz uma procedure e estou construindo uma interface no Reporting Services para postar na intranet da empresa.

    Este relatório é para mostrar as batidas de ponto dos funcionários. Como o campo é do tipo Float, tive dificuldades.

    Vou testar a sua dica. Darei o retorno, mas uma vez obrigado !

    sábado, 16 de abril de 2011 14:55
  • Andressa, boa tarde !

     

    Eu não me toquei que a sua dica, na verdade, servia para formatação na visualização dos dados.

    Na verdade eu preciso converter os valores, que são do tipo Float, para Time. Aí conseguirei realizar cálculos de horas.

    Preciso de uma função para converter...

    segunda-feira, 18 de abril de 2011 17:28
  • Gaeo,

     

    Então nesse caso te indico duas formas de trabalhar:

    Convertendo direto no select

     select cast('1/01/1900 '+ substring('12,57',1,2) +':' + substring('12,57',4,2)  as datetime) SeuCampo

    Ou

    Converter o campo para minutos, realizar os calculos necessário

    =Mid(Fields!CampoFloat.Value,1,2)*60 + Mid(Fields!CampoFloat.Value,4,2)
     


    Andressa Martins Twitter: @Dre_Martins Blog: sqlgo.wordpress.com
    segunda-feira, 18 de abril de 2011 19:50
  • Olá Andressa.
    Eu estou com esse problema.
    Tenho um sistema de chamados do fireman e preciso converter o campo temposuspenso de float para exibir hh:mi:ss.
    Eu tentei da forma que você indicou no post acima, mas da o seguinte erro:

    Mensagem 102, Nvel 15, Estado 1, Linha 2

    Incorrect syntax near '='.

    Desculpe pela minha falta de experiência.
    Pode me ajudar?

    terça-feira, 13 de agosto de 2013 18:01