PESQUISAR ENTRE DATAS
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
O select:
O erro que aparece:
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.
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.
Achei meu erro: Select * From t_Registro Where DataReg > ("2020-01-01") and Datareg < ("2022-12-30");
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?
Veja isso para mysql:
www.gigasystems.com.br/artigo/75/formatando-datas-no-mysql-com-date_format
No SqlServer:
dba-pro.com/como-formatar-datas-no-sql-server/
www.gigasystems.com.br/artigo/75/formatando-datas-no-mysql-com-date_format
No SqlServer:
dba-pro.com/como-formatar-datas-no-sql-server/
é 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
A tabela foi alterada, ja corrigi esta parte. ele esta assim:
A questão agora é registrar a data e pesquisar a data da forma americana, dd/mm/aaaa.
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.
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.
Como disse, preciso da variável estar exatamente como date, pois, estarei pesquisando entre duas datas, ex: 01/01/1991 a 31/12/2022
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
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.
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
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
Tópico encerrado , respostas não são mais permitidas