terça-feira, 17 de abril de 2001

Resolva problemas com datas gravadas com formato string (texto)

Talvez você já tenha se deparado com a seguinte situação: colocou as datas em formato string num banco de dados para dar menos trabalho e tudo mais... só que na hora de pesquisar elas, vem o problema: ordenar strings data, fatalmente não retorna o que queremos. Para isso, desenvolvi uma simples cláusula SQL, pegando informações daqui e dali e que pode lhe ser útil:


strSQL = "SELECT * FROM tabela ORDER BY datevalue(data) DESC"


Nos testes, a cláusula se mostrou eficiente. Contudo, não foi testada com uma data no formato americano (mm/dd/yyyy). Qualquer erro, o idel seria formatar o campo de data da tabela, para o formato americano. Exemplo: se você quiser consultar intervalos de datas que estejam como string, precisará fazer algo como:


sql="SELECT * FROM tabela WHERE datevalue(data)>= #" & mes_menor & dia_menor & ano_menor & "# and datevalue(data)<= #"  & mes_maior & "/" & dia_maior & "/" & ano_maior & "# ORDER BY datevalue(data) DESC"


Os operadores lógicos substituem o operador SQL, o BETWEEN.



Esta matéria foi postada originalmente no ASP4Developers por Eduardo Patriota Gusmão Soares, que na época era "Programador de ASP e VB. Trabalha como webmaster e webdesigner numa empresa de criação de páginas para Internet.
Participante ativo do news de ASP.". Hoje, vai saber...

0 comentários: