datas em consultas sql

SELECT atributo FROM tabelaWHERE atributoBETWEEN xAND y

Isto é o standart sql.
Penso que em quase todas as implementações do mesmo bastará um select atributo from tabela where atributo>x and atributo<y.
Não sei se o BETWEEN x AND y estará implementado em todos os sistemas(no oracle está se não me engano).
 
Essas datas não deviam estar inseridas dentro de um to_date()?
Em Oracle pelo menos devia ser assim:
SELECT * FROM tabela WHERE data between to_date('2008-01-09 12:25:25','YYYY-MM-DD HH24:MI:SS') AND to_date('2008-01-10 12:25:25','YYYY-MM-DD HH24:MI:SS')
 
Boas,

Em Oracle não devia ser assim já que ele não quer converter nenhum valor.

A função to_date() é utilizada para converter um valor do tipo string para um valor do tipo date.

Em MySQL também existe essa função mas com o nome str_to_date().


Saudações
 
presumi que a coluna data era do tipo DATE. Se não usares o to_date nesse caso ele converte implicitamente com a máscara que achar que é, e muitas vezes não é! :)
No meu trabalho já aconteceu tudo funcionar bem cá, mas quando isntalarm aquilo nos EUA começou a dar erros de data porque uma coluna que devia ser DATE era VARCHAR2 e ninguém tinha reparado.
 
Back
Topo