PESQUISAR ENTRE DATAS

MOUSER 09/05/2022 21:10:39
#499805
Pessoal, sei que ja foi postado algo do genero no grupo, mas não estou conseguindo interpretar corretamente isso, ja tentei ler diversas vezes e mesmo assim ainda não compreendo como fazer um select entre duas datas. Pois o select que encontrei no google, diz: SELECT * FROM Tabela WHERE Status = 1 AND DATE(Data) > "2017-01-01" AND DATE(Data) < "2017-01-17"
Só quando coloco a tabela, a variavel data entre os parentes, da erro.
Criação da tabela
Citação:

CREATE TABLE t_Registro (
cod int Primary Key IDENTITY,
DataReg varchar(50),
Valor varchar (50),
Obs Varchar (100),
Tipo Varchar (50)
)


O select:
Citação:

: SELECT * FROM t_Registro WHERE Status = 1 AND DATE(DataReg) > "2020-01-01" AND DATE(DataReg) < "2022-12-22"



O erro que aparece:
Citação:

Mensagem 195, Nível 15, Estado 10, Linha 37
"DATE" não é um nome da função interna reconhecido.

JABA 09/05/2022 21:19:52
#499806
Voce tem que declarar o campo no banco como data, e verificar o formato dela na hora de pesquisar. Geralmente os bancos utilizam caracteres especiais para formatação nas consultas, como por exemplo #09/05/2022# ou %09/052022%, ou até mesmo as aspas simples, etc.
MOUSER 09/05/2022 21:29:52
#499807
Achei meu erro: Select * From t_Registro Where DataReg > ("2020-01-01") and Datareg < ("2022-12-30");
MOUSER 09/05/2022 21:32:31
#499808
Obrigado JABA, vou deixar o tópico em aberto, pois tem uma parte que preciso de ajuda! que é converter as datas dessa pesquisa (YYYY/MM/DD) para (DD/MM/YYYY), pois existe o seguinte comando: Select convert (char,DataReg,103) Tipo, Datareg, Valor, Obs From t_Registro Order by DataReg; . É possível mesclar os dois?
NICKOSOFT 10/05/2022 09:25:40
#499811
é o q foi dito na primeira resposta, o erro esta na criação da tabela e pronto, agora fica inventando a roda dando volta tentando contornar o erro
MOUSER 10/05/2022 21:32:31
#499814
A tabela foi alterada, ja corrigi esta parte. ele esta assim:
Citação:

CREATE TABLE t_Registro (
cod int Primary Key IDENTITY,
DataReg Date,
Valor varchar (50),
Obs Varchar (100),
Tipo Varchar (50)
)



A questão agora é registrar a data e pesquisar a data da forma americana, dd/mm/aaaa.
Citação:

Dim DataInicio, DataFim As Date


Essa variavel salva data e hora, sendo que preciso só da data, quando coloco o #dd-mm-aaaa# no final, depois do date, apresenta erro.
MOUSER 10/05/2022 21:34:16
#499815
Como disse, preciso da variável estar exatamente como date, pois, estarei pesquisando entre duas datas, ex: 01/01/1991 a 31/12/2022
MOUSER 10/05/2022 21:38:22
#499816
Fiz um print, dos dois selects, a questão é só mudar a configuração, que cada linha que mexo, da uns 500 erros dizendo que pegou hora, dia, sendo que precisamos só da data, da forma dd/mm/aaaa
MOUSER 10/05/2022 21:40:45
#499817
Segundo Select que fiz com todos os registros, só para conferir se o comando estaria correto, no lugar dos %% posso colocar entrada e saída que esta consultando corretamente. Só essa treta do formato da data, que cada forum que pesquiso fala que o comando é de uma forma diferente, quando testo todos, da (erro) diferente. Poderia deixar do modo padrão. Mas isso não levaria minha evolução.
MOUSER 10/05/2022 21:47:59
#499818
Dim DataInicio, DataFim As Date
DataInicio = CDate(DateString, "dd-mm-yyyy")
DataFim = CDate(DateString, "dd-mm-yyyy")
Deu erro
Dim DataInicio, DataFim As String
DataInicio = CDate(DateString, "dd-mm-yyyy")
DataFim = CDate(DateString, "dd-mm-yyyy")
Deu Erro
Página 1 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas