Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia Galera, to com um problema muito chato que não consigo resolver, preciso fazer um Between para selecionar um relatorio em um determinado periodo, mais por algum motivo ele so compara o primeiro char, pesqueisando na internet vi a galera convertento em DATA, mais mesmo assim esta dando errado, segue algumas informações.
Tabela relatorio e venda: D1, D2 e Data são do tipo varchar
Segue meu select!
SELECT LTRIM(RTRIM(Produto.Seguimento)) AS Seguimento, LTRIM(RTRIM(Produto.Tipo)) AS Tipo, LTRIM(RTRIM(Venda.data)) AS data, LTRIM(RTRIM(Venda.hora)) AS hora,
LTRIM(RTRIM(Venda.quantidade)) AS quantidade, LTRIM(RTRIM(Venda.cod_barras_prod)) AS cod_barras_prod
FROM Venda INNER JOIN
Produto ON Produto.Cod_barras = Venda.cod_barras_prod
WHERE (Venda.data BETWEEN
(SELECT D1 FROM Relatorio) AND
(SELECT D2
FROM Relatorio AS Relatorio_1))
Obrigado!
Não creio que seja um problema esta parte, maaas como tudo pode ser certo ou não ai vai.
Veja se consegue utilizar a clausula tirando os ():
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
Aconselho ler esses tutoriais tambem:
http://www.w3schools...sql_between.asp
Ou então, tente utilizar as duas clausulas que você colocou dentro da expressão Between separadamente. Por exemplo, executando elas anteriormente e as armazenando em variáveis.