none
Formato data RRS feed

  • Pergunta

  • Boa tarde,

    Na minha aplicação windows form tenho um masktextbox para data, insiro DD/MM/AAAA, mas quando faço um select o sqlserver me retorna AAAA/MM/DD como faço pra corrigir isso?

    Grato,

    Sérgio Vasconcelos

    quinta-feira, 13 de novembro de 2014 18:34

Respostas

  • Olá, se você quer formatar a data em "DD/MM/AAAA" direto no select, faça a converção, é uma solução simples e rápida de aplicar, segue o exemplo:

    SELECT CONVERT(VARCHAR, GETDATE(), 103) 

    E se você quiser a hora faça:

    SELECT CONVERT(VARCHAR, GETDATE(), 103) + ' ' + CONVERT(VARCHAR, GETDATE(), 108) 

    O retorno será assim:

    Sua consulta ficará mais ou menos assim:

    SELECT CONVERT(VARCHAR, SeuCampoData, 103) AS Data
    	, CONVERT(VARCHAR, SeuCampoData, 103) + ' ' + CONVERT(VARCHAR, SeuCampoData, 108) AS DataHora
    FROM SuaTabela

    **************************************************************************************

    Sempre lembre de marcar a resposta se ela foi útil.

    Tks.



    quinta-feira, 13 de novembro de 2014 19:32
  • Single,

    Já tentou utilizar a diretiva Set DateFormat?

    Veja este exemplo, extraído da Documentação Oficial do SQL Server:

    -- Set date format to day/month/year.
    SET DATEFORMAT dmy;
    GO
    DECLARE @datevar datetime2 = '31/12/2008 09:01:01.1234567';
    SELECT @datevar;
    GO
    -- Result: 2008-12-31 09:01:01.123
    SET DATEFORMAT dmy;
    GO
    DECLARE @datevar datetime2 = '12/31/2008 09:01:01.1234567';
    SELECT @datevar;
    GO
    -- Result: Msg 241: Conversion failed when converting date and/or time -- from character string.
    
    GO


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com

    sexta-feira, 14 de novembro de 2014 14:01

Todas as Respostas

  • Single,

    Veja se esse link resolve seu problema...

    http://www.tuliorosa.com.br/index.php/archives/209

    Abaixo a localização para versão atual do SQL Server


    Tulio Rosa | http://tuliorosa.com.br | Se resolveu seu problema, marque como resposta ou vote


    • Editado Tulio Rosa quinta-feira, 13 de novembro de 2014 18:59
    quinta-feira, 13 de novembro de 2014 18:46
  • Olá, se você quer formatar a data em "DD/MM/AAAA" direto no select, faça a converção, é uma solução simples e rápida de aplicar, segue o exemplo:

    SELECT CONVERT(VARCHAR, GETDATE(), 103) 

    E se você quiser a hora faça:

    SELECT CONVERT(VARCHAR, GETDATE(), 103) + ' ' + CONVERT(VARCHAR, GETDATE(), 108) 

    O retorno será assim:

    Sua consulta ficará mais ou menos assim:

    SELECT CONVERT(VARCHAR, SeuCampoData, 103) AS Data
    	, CONVERT(VARCHAR, SeuCampoData, 103) + ' ' + CONVERT(VARCHAR, SeuCampoData, 108) AS DataHora
    FROM SuaTabela

    **************************************************************************************

    Sempre lembre de marcar a resposta se ela foi útil.

    Tks.



    quinta-feira, 13 de novembro de 2014 19:32
  • Esse link explica como mudar o formato padrão: http://support.microsoft.com/kb/173907/pt-br
    quinta-feira, 13 de novembro de 2014 19:42
  • Single,

    Já tentou utilizar a diretiva Set DateFormat?

    Veja este exemplo, extraído da Documentação Oficial do SQL Server:

    -- Set date format to day/month/year.
    SET DATEFORMAT dmy;
    GO
    DECLARE @datevar datetime2 = '31/12/2008 09:01:01.1234567';
    SELECT @datevar;
    GO
    -- Result: 2008-12-31 09:01:01.123
    SET DATEFORMAT dmy;
    GO
    DECLARE @datevar datetime2 = '12/31/2008 09:01:01.1234567';
    SELECT @datevar;
    GO
    -- Result: Msg 241: Conversion failed when converting date and/or time -- from character string.
    
    GO


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com

    sexta-feira, 14 de novembro de 2014 14:01