Campo Varchar com dia e mes quero um select
12/02/2006
0
Claudio
Dpinho
Posts
12/02/2006
Dpinho
12/02/2006
Joaoshi
SELECT * FROM SUATABELA WHERE SUBSTRING(MES/ANO FROM 4 FOR 2) = ´09´
Espero ter ajudado.
16/02/2006
Dpinho
Não deu certo, não existe substring
tentei utilizar o like, mas não retorna nenhum valor
16/02/2006
Martins
Não deu certo, não existe substring
tentei utilizar o like, mas não retorna nenhum valor[/quote:379dad4380]
Qual o seu Banco de Dados?
Acho q Substring é suportado desde a versão 1.0 do Firebird!
Boa sorte!!!
17/02/2006
Emerson Nascimento
SELECT * FROM SUATABELA WHERE CAMPO LIKE ´¬/mesdesejado´
pelo delphi:
query.sql.text := ´SELECT * FROM SUATABELA ´+ ´WHERE CAMPO LIKE :PARAM ´; query.parambyname(´param´).asstring := ´¬/´ + mesdesejado; query.open;
no parâmetro é passado o curinga (¬), mais a barra (/) e mais o mês desejado.
17/02/2006
Martins
SELECT * FROM SUATABELA WHERE CAMPO LIKE ´¬/mesdesejado´
query.sql.text := ´SELECT * FROM SUATABELA ´+ ´WHERE CAMPO LIKE :PARAM ´; query.parambyname(´param´).asstring := ´¬/´ + mesdesejado; query.open;
Uma solução no mínimo inteligente, parabéns!!!
17/02/2006
Dpinho
[color=red:da577fff02]DM.Qconsuclie.Close;
DM.Qconsuclie.SQL.Clear;
DM.Qconsuclie.SQL.Text := ´Select * From CLIENTES´;
DM.Qconsuclie.SQL.Add( ´Where upper(ANIVER) like :vNome´);
DM.Qconsuclie.ParamByName(´vNome´).AsString := ´/´ + upperCase(edit1.Text);
DM.Qconsuclie.Open;[/color:da577fff02]
Mas não esta retornando nada
17/02/2006
Emerson Nascimento
[color=red:035e92e175][b:035e92e175]onde você colocou o curinga?!?!?!?![/b:035e92e175][/color:035e92e175]
o correto é:
DM.Qconsuclie.ParamByName(´vNome´).AsString := ´[size=18:035e92e175]¬[/size:035e92e175]/´ + upperCase(edit1.Text);
17/02/2006
Dpinho
aparece este erro depois da consullta e abre o relatorio sem registro
17/02/2006
Emerson Nascimento
with DM.Qconsuclie do begin Close; SQL.Text := ´Select * From CLIENTES Where ANIVER like :vNome´; ParamByName(´vNome´).AsString := ´¬´ + upperCase(edit1.Text); Open; end;
note que edit1.text deve ter somente os dois últimos digitos do ano.
(faça o teste com a barra e sem ela. nesse caso não estou colocando a barra)
eu sempre fiz dessa forma e nunca tive qualquer problema.
17/02/2006
Dpinho
Ja testei com e sem a barra, e dar o mesmo erro. meu edit retorna somente o mes no campo ANIVER tem o cadastro de dia/mes e é um campo varchar
17/02/2006
Emerson Nascimento
se você estiver usando dbExpress e o retorno estiver ligado à um componente data-aware (grade, dbedit), não vai funcionar, pois a query é unidirecional, enquanto que os componentes data-aware são bi-direcionais. nesse caso a instrução deverá ser executada num clientdataset.
tente isso no IBExpert (ou outra ferramenta de adm do banco que vc esteja usando):
[b:0799445f94]Select * From CLIENTES Where ANIVER like ´¬/09´[/b:0799445f94] (ou um outro mês que você saiba que há registros