Consulta sql - resolvido

Tenho está tabela. Como faço para que a consulta busca o registro na data do dia desta tabela

SELECT "AuxilioPublicacao"."id" AS "AuxilioPublicacao_id", "AuxilioPublicacao"."createdAt" AS "AuxilioPublicacao_createdAt", "AuxilioPublicacao"."updatedAt" AS "AuxilioPublicacao_updatedAt", "AuxilioPublicacao"."nome" AS "AuxilioPublicacao_nome", "AuxilioPublicacao"."dataInicio" AS "AuxilioPublicacao_dataInicio", "AuxilioPublicacao"."dataFim" AS "AuxilioPublicacao_dataFim", "AuxilioPublicacao"."vinculoChamada" AS "AuxilioPublicacao_vinculoChamada", "AuxilioPublicacao"."excluido" AS "AuxilioPublicacao_excluido", "AuxilioPublicacao"."createdId" AS "AuxilioPublicacao_createdId", "AuxilioPublicacao"."updatedId" AS "AuxilioPublicacao_updatedId" FROM "auxilio_parametrizacao" "AuxilioPublicacao" 
WHERE "AuxilioPublicacao"."dataInicio" >= '2021-08-13'
AND "AuxilioPublicacao"."dataFim" <= '2021-08-13'
AND "AuxilioPublicacao"."excluido" = false

data inicio no banco: 2021-09-01

data fim no banco: 2021-09-01

Data do dia: 2021-08-13

teria que retornar 2 registros: com o id e6b1983a-2d8d-40ee-9e40-d629d8c0479e e da0fb117-2d0a-490f-bdd6-935d999924f9

Não entendi. Se o dia é 2021-08-13, e as datas inicio e fim são 2021-09-01, não deve retornar nada, pois o dia informado não está entre o intervalo de datas do registro. (ou talvez eu não tenha entendido a ideia e estou viajando aqui kkk)

1 curtida

Acho que seus operadores estão invertidos.

Você quer procurar todas publicações onde a data 2021-08-13 esteja entre dataInicio e dataFim certo?
Deveria ser então:

WHERE "AuxilioPublicacao"."dataInicio" <= '2021-08-13'
AND "AuxilioPublicacao"."dataFim" >= '2021-08-13'

Ou mais simples de entender (acho):

WHERE  '2021-08-13' between "AuxilioPublicacao"."dataInicio" and "AuxilioPublicacao"."dataFim"
1 curtida

Escrevi errado