CONSULTA SQL - ALIAS
Boa tarde.
Tenho a seguinte consulta SQL
Essa consulta dá um erro referente à palavra [ô]Date[ô] na cláusula WHERE. [ô]DATE[ô] é uma palavra reservada. Por isso dá erro.
Pergunto: Como faço um ALIAS mesmo? Posso usar o Alias na cláusula WHERE?
Já tentei isso, mas não funfa.
Estou usando um banco de dados antigo: dBase (DBF)
Eu já tinha feito alias usando o MySQL... mas não me lembro mais. E tb nem sei se serve para o dBase.
Por que não consigo usar a cláusula WHERE com um campo de nome DATE ????!!!!!
[]'s
Tenho a seguinte consulta SQL
SELECT Date FROM tbl_dados WHERE Date = 18/05/2011
Essa consulta dá um erro referente à palavra [ô]Date[ô] na cláusula WHERE. [ô]DATE[ô] é uma palavra reservada. Por isso dá erro.
Pergunto: Como faço um ALIAS mesmo? Posso usar o Alias na cláusula WHERE?
Já tentei isso, mas não funfa.
SELECT Date As DataInicial FROM tbl_dados WHERE Date = 18/05/2011
Estou usando um banco de dados antigo: dBase (DBF)
Eu já tinha feito alias usando o MySQL... mas não me lembro mais. E tb nem sei se serve para o dBase.
Por que não consigo usar a cláusula WHERE com um campo de nome DATE ????!!!!!
[]'s
muda pra DATA ou DTINICIAL que vai funcionar....
Acho que vc não pode usar palavras reservadas como Date, já que Date é um tipo de campo.
Quais os campos que vc possui na tabela tbl_dados? Esse campo Date existe nessa tabela?
Quais os campos que vc possui na tabela tbl_dados? Esse campo Date existe nessa tabela?
Então, não tem como alterar o nome do campo porque esse banco DBF é gerado automaticamente por um software industrial.
Eu dei o nome de tbl_dados para ficar mais fácio (o verdadeiro nome da tabela é 2011 05 18 0000 (Wide).dbf)
Os camos são:
Date (com dados do tipo 18/5/2011)
Time (com dados do tipo 08:35:675)
Temp (são temperaturas, de forma simples. Ex: 300)
Eu já vi por aà consultas SQL com [Ô]WHERE Date[Ô] mas acho q foi usando SQL Server ou MySQL. Não sei se tem algo a ver.
E eu acho que, para piorar, segundo a ajuda do site do MySQL, não dá para criar um alias para a cláusula Where. :(
E agora?!
Eu dei o nome de tbl_dados para ficar mais fácio (o verdadeiro nome da tabela é 2011 05 18 0000 (Wide).dbf)
Os camos são:
Date (com dados do tipo 18/5/2011)
Time (com dados do tipo 08:35:675)
Temp (são temperaturas, de forma simples. Ex: 300)
Eu já vi por aà consultas SQL com [Ô]WHERE Date[Ô] mas acho q foi usando SQL Server ou MySQL. Não sei se tem algo a ver.
E eu acho que, para piorar, segundo a ajuda do site do MySQL, não dá para criar um alias para a cláusula Where. :(
E agora?!
é justamente o que o colega disse, o fato de usar nomes de funções do proprio sql pode causar erros, tipo:
date = na função retornará a data atual, então seria correto vc colocar o nome data, e o mesmo para time.
date = na função retornará a data atual, então seria correto vc colocar o nome data, e o mesmo para time.
Tente delimitar a coluna usando [Ô][[Ô] e [Ô]][Ô].
SELECT[txt-color=#007100] [Date][/txt-color]...
SELECT[txt-color=#007100] [Date][/txt-color]...
é incompativel ....... date() do DBF com Datetime ou Smalldatetime do SQL
ou voce convert o date() para Datetime ou Caracter .... vc escolhe
ou voce convert o date() para Datetime ou Caracter .... vc escolhe
Delimitar a coluna, não funcionou.
O negócio é instalar o MySQL e importar os campos. Sendo que as colunas [ô]Date[ô] e [ô]Time[ô] do DBF irão para o MySQL como DataProcesso e TempoProcesso.
Por enquanto está sendo a melhor forma de fazer. Mas se ainda existir alguma alternativa, agradeço!
[]'s
SELECT [Date]...
O negócio é instalar o MySQL e importar os campos. Sendo que as colunas [ô]Date[ô] e [ô]Time[ô] do DBF irão para o MySQL como DataProcesso e TempoProcesso.
Por enquanto está sendo a melhor forma de fazer. Mas se ainda existir alguma alternativa, agradeço!
[]'s
Você está acessando os arquivos DBF como? Se possÃvel, vincule eles a um banco Access e dispare as consultas neste banco. Eu sei que é uma idéia meio louca, mas acredito que neste caso o Access viraria o motor (como era o Clipper ou o DBase 3 Plus nestes casos).
P.S. Aff... agora eu percebi que estou velho neste ramo...
P.S. Aff... agora eu percebi que estou velho neste ramo...
Que tal ...
FICA COM DEUS!!!
SELECT tbl_dados.Date FROM tbl_dados WHERE tbl_dados.Date = 18/05/2011
??FICA COM DEUS!!!
Meus caros... Problema resolvido.
A questão é que consultas de data à tabelas DBF devem ter o seguinte formato na data:
Ou seja, a instrução ficaria assim:
Neste caso, ainda é possÃvel utilizar a palavra reservada [ô]Date[ô] na cláusula WHERE sem problemas. Uma coisa que atrapalhou muito é que eu tinha uma mensagem de erro diferente a cada tentativa de retornar a data. Ora era formato, ora era comando desconhecido, ora era erro de sintaxe.... Tinha tentado vários formatos diferentes. Mas esse eu nunca tinha visto.
Mas no final, tudo da certo... :)
[]'s
A questão é que consultas de data à tabelas DBF devem ter o seguinte formato na data:
{^yyyy-mm-dd}
Ou seja, a instrução ficaria assim:
strSQL = [Ô]SELECT * FROM tbl_dados WHERE Date = {^[Ô] & Format(minha_variavel, [Ô]yyyy/mm/dd[Ô]) & [Ô]}[Ô]
Neste caso, ainda é possÃvel utilizar a palavra reservada [ô]Date[ô] na cláusula WHERE sem problemas. Uma coisa que atrapalhou muito é que eu tinha uma mensagem de erro diferente a cada tentativa de retornar a data. Ora era formato, ora era comando desconhecido, ora era erro de sintaxe.... Tinha tentado vários formatos diferentes. Mas esse eu nunca tinha visto.
Mas no final, tudo da certo... :)
[]'s
Tópico encerrado , respostas não são mais permitidas