locked
Formato datetime RRS feed

  • Pergunta

  • Amigos, estou com um probleminha em uma query e preciso de ajuda. Criei uma query para consultar um banco access e exportar as informações de acordo com alguns critérios para planilha excel, o processo básico funciona sem erros. O meu problema é criar um filtro sobre um campo datetime pois vindo do access o seu formato é 2/1/2006  00:00:00 e sendo assim não consigo informar uma data na filtragem. Resumindo, como posso converter de datetime para o nosso formato padrão dd/mm/aaaa de maneira que possa encontrar as datas a partir de meu filtro (ex. where table.field = ?).

    Muito Obrigado,

    quinta-feira, 24 de agosto de 2006 14:21

Todas as Respostas

  • Bruno antes de fazer o select digite a seguinte instrução

     

    SET DATEFORMAT DMY     

    Obs: pode ser feito o convert tambem mas dependendo do que for utilizar vc ira converter os valores de data para string e ai ele pode não usar intervalos de forma correta

    quinta-feira, 24 de agosto de 2006 14:55
  • André ao usar a instrução SET DATEFORMAT DMY é apresentado mensagem de erro: Ou o arquivo foi estragado ou o formato de arquivo não é válido. Para ajudar um pouco mais, o script é gerado pelo Excel (parece que existe distinção ou inexistência de algumas funções) e tem o seguinte código:
    XLODBC
    1
    DSN=MS Access Database;DBQ=C:\Documents and Settings\XXXXX\Desktop\XXXXX.mdb;DefaultDir=C:\Documents and Settings\bruno\Desktop;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;
    SET DATEFORMAT DMY
    Select...
    Estou certo de que algumas funcionalidades da sintaxe Excel pode não funcionar corretamente?

    Obrigado

    quinta-feira, 24 de agosto de 2006 16:55
  •  

    Bruno..

       Você pode usar a função CONVERT.. segue um exemplo:

                   SELECT CONVERT(VARCHAR(20), GETDATE(), 103)

    103 É o padrão da data, para ver todos os padroes possíveis é o usar o BOL e procurar por convert, la tem a numeração de todos os formatos de data.

    sexta-feira, 25 de agosto de 2006 03:13
  •  

     

    vc. pode usar o set formatdate dmy tambem, ou alterar o default language do usuario que se loga no seu servidor para portuguese

     

    Abs;

    sexta-feira, 25 de agosto de 2006 10:05
  • Para que o formato de data funcione sempre - independente de configurações regionais ou collation, sem CONVERT ou CAST, use a data no formato  aaaammdd (necessariamente 8 posicoes, sem traços de separação - isto acaba com todo e qualquer problema de conversão e funciona SEMPRE - no SQL SERVER 2000).
    segunda-feira, 28 de agosto de 2006 12:57