none
Função Format Não reconhecida RRS feed

  • Pergunta

  • Tenho um cliente que deve está usando uma versão do SQL Server que não aceita a função Format, como não tenho acesso ao servidor não sei informar com precisão a versão, mas acredito que seja a versão 2012.

    O seguinte erro aparece 
    Mensagem 195, Nivel 15, Estado 10, Linha 5, 'Format' não é um nome da função interna reconhecida.

    Esse mensagem quem me enviou foi o DBA, pois enviei para ele o SQL para ser executado diretamente no Management do SQL.

    Como posso resolver esse problema?

    terça-feira, 18 de agosto de 2015 09:31

Respostas

Todas as Respostas

  • Bom dia,

    Desconfio que o seu cliente está utilizando a versão 2008 ou anterior do SQL Server.

    Vai depender de como a função Format foi utilizada, que tipo de formatação está sendo feita, mas acredito que as opções básicas seriam deixar para formatar o valor na aplicação ou tentar trocar a função Format por outros comandos e funções.


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 18 de agosto de 2015 11:23
  • Estou utilizando para format numero, FORMAT([campo],'0000'),porém estou concatenando esse resultado com outros campos, por isso é necessário a função format, existe outra função que possa usar para substituir?
    terça-feira, 18 de agosto de 2015 13:00
  • Qual o tipo do campo que vc está querendo converter ? Coloca um exemplo dele e do campo que vc está concatenando !!!

    Flávio Farias
    "May the Force be with you"
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    terça-feira, 18 de agosto de 2015 13:04
  • Segue o código

    "rTrim(beneficiario.Nome) + ' | (Matricula:' + Format(sinistro.idMatricula,'0000000000') +')(id:' + rTrim(Convert(nChar,sinistro.idBeneficiario)) + ')'  AS NomeApresentacao

    O campo idMatricula Double, e o restante é string.

    terça-feira, 18 de agosto de 2015 13:28
  • Experimente trocar o trecho abaixo

    Format(sinistro.idMatricula,'0000000000')

    por

    RIGHT('0000000000' + Cast(sinistro.idMatricula as varchar(10)), 10)

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta Venildo Amaral terça-feira, 18 de agosto de 2015 18:44
    terça-feira, 18 de agosto de 2015 14:03
  • Funcionou corretamente, existe alguma forma de saber a versão do SQL Server que está rodando?

    Pois assim, faria alguns desvios no programa para não aparecer esses erros.

    Obrigado

    terça-feira, 18 de agosto de 2015 18:45
  • SELECT @@VERSION


    Flávio Farias
    "May the Force be with you"
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    terça-feira, 18 de agosto de 2015 19:34
  • Valeu!!!
    terça-feira, 18 de agosto de 2015 19:54