it-swarm-pt.tech

Access SQL Date Format

Como posso recuperar um registro baseado em uma propriedade Date? Estou tentando:

WHERE Meetings.[MDate] = '16/12/2011'

qual é o formato que uso, mas obtenho:

"Incompatibilidade de tipo de dados na expressão de critérios"


Problema resolvido: deveria ter sido:

WHERE Meetings.[MDate] = 16/12/2011

Sem aspas.

10
Asdwq Qwksf

Para onde as cláusulas usam

columnName = #mm/dd/yyyy#
13
Ricardo Souza

Você vai querer usar o formato de data SQL: '# 2011-12-16 #'

10
competent_tech

Use o elenco para DATETIME function, CDATE(), que respeitará as configurações regionais da máquina. Dito isso, ainda é uma boa ideia usar um formato de data inequívoco e o formato ISO 8601 é um bom.

Observe também que o Access não tem um tipo de dados de data: seu único tipo de dados temporais é DATETIME e, como seu nome sugere, sempre tem um elemento de tempo com precisão de um segundo grânulo de tempo, mesmo se esse tempo for meia-noite. Portanto, é uma boa ideia sempre incluir um valor de tempo em um segundo grânulo de tempo em todos os literais DATETIME, por exemplo,.

WHERE Meetings.MDate = CDATE('2011-12-16 00:00:00');

Outra vantagem do acima é que a IU do Access não tentará reformatar o literal DATETIME porque ele é mantido como uma string.

4
onedaywhen