Converter varchar em date no SQL
Bom dia a todos,
Gostaria de saber se há como converter datas em "varchar" para date no SQL.
Estou tendo dificuldades em realizar buscas entre datas, devido a este discrepância no banco de dados onde realizo a consulta.
Quando insiro minha linha de código:
select *
from TAB_FATURAMENTO
where cd_cliente like '%'
and dt_item between '15/05/2017' and '31/05/2017';
O resultado da minha busca me retorna valores de datas anteriores ao meu range.
Gostaria de saber se há como converter datas em "varchar" para date no SQL.
Estou tendo dificuldades em realizar buscas entre datas, devido a este discrepância no banco de dados onde realizo a consulta.
Quando insiro minha linha de código:
select *
from TAB_FATURAMENTO
where cd_cliente like '%'
and dt_item between '15/05/2017' and '31/05/2017';
O resultado da minha busca me retorna valores de datas anteriores ao meu range.
Tony Anderson
Curtidas 0
Respostas
Fabio Parreira
01/06/2017
Retorna valores anteriores porque você usando um padrão brasileiro.
Antes de executar a query, coloque essa linha acima do select.
SET LANGUAGE BRAZILIAN
Antes de executar a query, coloque essa linha acima do select.
SET LANGUAGE BRAZILIAN
GOSTEI 0
Rene
01/06/2017
Segue exemplos
Select convert(varchar,'01/01/2017') Data --convertido em texto
Select convert(datetime,convert(varchar,'01/01/2017'),103) Data --convertido Data
Select convert(varchar,'01/01/2017') Data --convertido em texto
Select convert(datetime,convert(varchar,'01/01/2017'),103) Data --convertido Data
GOSTEI 0
Luiz Santos
01/06/2017
Tony, boa tarde.
Algo para ter sempre em mente é em que formato sua data é gravada dento de um banco de dados. (supondo que esteja usando um campo tipo data para armazenar data e não um varchar)
Toda data é gravada no formato internacional, YYYY-MM-DD (AAAA-MM-DD)
No MS SQL SERVER, para se formatar uma data ou converter um texto para data, tem que usar alguns códigos, como no exemplo que o Rene colocou.
Abaixo segue o link para um artigo aqui no DEVMEDIA que mostra como converter datas no SQL Server.
https://www.devmedia.com.br/forum/como-formatar-datas-no-sql-server/571855
Espero ter ajudado
Grande abs
Algo para ter sempre em mente é em que formato sua data é gravada dento de um banco de dados. (supondo que esteja usando um campo tipo data para armazenar data e não um varchar)
Toda data é gravada no formato internacional, YYYY-MM-DD (AAAA-MM-DD)
No MS SQL SERVER, para se formatar uma data ou converter um texto para data, tem que usar alguns códigos, como no exemplo que o Rene colocou.
Abaixo segue o link para um artigo aqui no DEVMEDIA que mostra como converter datas no SQL Server.
https://www.devmedia.com.br/forum/como-formatar-datas-no-sql-server/571855
Espero ter ajudado
Grande abs
GOSTEI 0