none
Inverter tipo de exibição da data RRS feed

  • Pergunta

  • Boa tarde pessoal, estou desenvolvendo um software em Delphi e uso o banco MSSQLS 2008 R2.

    Em uma das tabelas eu armazeno uma data, na hora de inserir, eu digito no formato 'DD/MM/YYYY'. Porém, na tabela e no software, a data fica invertida, ex:

    'YYYY/MM/DD', preciso que a mesma seja exibida no formato 'DD/MM/YYYY'.

    Quero saber, se consigo inverter por alguma configuração no banco de dados, ou consigo inverter por algum comando SQL?

    Obrigado.

    segunda-feira, 7 de julho de 2014 18:04

Respostas

Todas as Respostas

  • Você pode trazer do banco de dados com ela já convertida no formato que você quer.

    Para o caso do "dd/MM/yyyy", é só fazer assim:

    SELECT CONVERT(VARCHAR,TB.DATA,103) FROM TABELA TB

    segunda-feira, 7 de julho de 2014 18:46
  • Boa tarde amigo.

    Funcionou perfeitamente, era isso mesmo.

    Muito obrigado pela ajuda.

    segunda-feira, 7 de julho de 2014 19:47
  • Lucas,

    Outra possibilidade seria utilizando a Diretiva Set DateFormat especificando o formato desejado: 

    http://msdn.microsoft.com/pt-br/library/ms189491.aspx

    Vale ressaltar que quando utilizamos a função Convert() podemos estar forçando o SQL Server a mudar o plano de execução desta query o que poderá resultar em alguma pequena perda de performance.

    declare @dates table (orig varchar(50) ,parsed datetime)
    
    SET DATEFORMAT ydm;
    
    insert into @dates
    select '2008-09-01','2008-09-01'
    
    SET DATEFORMAT ymd;
    insert into @dates
    select '2008-09-01','2008-09-01'
    
    select * from @dates

    Outro exemplo:

    CREATE TABLE #tempTable (DateFormatSample SMALLDATETIME)
    
    SET DATEFORMAT MDY
    INSERT INTO #tempTable
    VALUES ('09/28/2007')
    
    SET DATEFORMAT YDM
    INSERT INTO #tempTable
    VALUES ('2007/28/09')
    
    SET DATEFORMAT YMD
    INSERT INTO #tempTable
    VALUES ('2007/08/28')
    
    SELECT DateFormatSample
    FROM #tempTable
    
    DROP TABLE #tempTable


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]


    quarta-feira, 9 de julho de 2014 13:57