Ho bisogno di indicare a una query mysql, tutti i valori, come l'* (asterisco) di php.
Ad esempio:
select * from mytable where nome="tutti i valori"
Sicuramente è molto banale, ma in questo momento mi sfugge.
Ho bisogno di indicare a una query mysql, tutti i valori, come l'* (asterisco) di php.
Ad esempio:
select * from mytable where nome="tutti i valori"
Sicuramente è molto banale, ma in questo momento mi sfugge.
Devi usare LIKE.Originariamente inviato da almare
Ho bisogno di indicare a una query mysql, tutti i valori, come l'* (asterisco) di php.
Ad esempio:
select * from mytable where nome="tutti i valori"
Sicuramente è molto banale, ma in questo momento mi sfugge.
WHERE NOME LIKE '%'
% = tutti i caratteri, qualsiasi carattere.
_ = 1 carattere qualsiasi
tra apici perche' e' una stringa.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Non puoi anche fare
select nome from nomeTabella;
oppure
select distinct nome from nomeTabella;
per non avere ripetizioni
"select * from nomeTabella"
potrebbe funzionare, ma io ho bisogno di un carattere che mi indica tutti i valori, per rendere universale la query.
Senza like non si può fare niente?
Non c'è qualcosa come un'asterisco?
Per esempio, una cosa del tipo "...where nome=*"; è solo un esempio per capirci...
"LIKE" si usa per i caratteri jolly .. ed i caratteri jolly sono % e _ ..dov'e' il problema?
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Ho fatto questa query:
SELECT * FROM works WHERE id_customer='4' and data='2005-07'
posso sostituirla con
SELECT * FROM works WHERE id_customer LIKE '4' and data LIKE '2005-07'?
Anche in termini di efficienza, prestazioni e correttezza del linguaggio.
Adesso ho fatto uno script che mi crea dinamicamente la query da eseguire. Quindi se non ho i valori id_customer e date, mi esegue solo: "select * from works", altrimenti a seconda dei parametri passati aggiunge questi filtri alla query, ad esempio "select * from works where id_customer='4'".
Visto che alla pagina si ha accesso + volte da parti diverse, ho pensato di eseguire sempre la query completa "SELECT * FROM works WHERE id_customer='$x' and data='$y'" e nel caso devo annullare i filtri(del WHERE) e far vedere tutto, metto il carattere che indica qualsiasi.
cosa dici?
Nella query sopra alla fine dove c'è "data='2005-07'";
il campo data è fatto di anno-mese-giorno, io dovrei interrogare solo anno-mese = 2005-07(che è dinamico e viene da una variabile).
come posso fare?
comincio dal fondo:
Nella query sopra alla fine dove c'è "data='2005-07'";
il campo data è fatto di anno-mese-giorno, io dovrei interrogare solo anno-mese = 2005-07(che è dinamico e viene da una variabile).
come posso fare?Oppurecodice:$data = '2005-07'; WHERE data like '$data-%'
Visto che alla pagina si ha accesso + volte da parti diverse, ho pensato di eseguire sempre la query completa "SELECT * FROM works WHERE id_customer='$x' and data='$y'" e nel caso devo annullare i filtri(del WHERE) e far vedere tutto, metto il carattere che indica qualsiasi.codice:$x = isset($_POST['id'] ? $_POST['id'] : '%' ; $y = isset($_POST['data'] ? $_POST['data'] : '%'; WHERE id_customer like '$x' AND data like '$y-%'![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.