Come utilizzare il comando SQL LIKE ANY?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti.
Sto cercando di utilizzare l'input da una casella di testo per avere una query SQL che utilizza il comando LIKE, ma con più voci.
Ottenere l'elenco dalla casella di testo è semplice, il problema si presenta quando provo una query SQL con LIKE e un elenco.
id = {"R8D-304%", "R8D-404%", "R8D-515%"};
Seleziona WHERE Serial LIKE ANY (????)
Questo è dove ho dei problemi. Ho usato gli oggetti Concait durante la ricerca di un elenco di corrispondenze esatte, ma ho bisogno di trovare corrispondenze ravvicinate.
Ri: Come utilizzare il comando SQL LIKE ANY?PMroz, la seconda risposta funziona perfettamente! Ho dovuto aggiustarlo per compensare il fatto che la colonna non sia sempre chiamata seriale a seconda della tabella, ma la query è esattamente ciò di cui avevo bisogno.
Grazie.
Ri: Come utilizzare il comando SQL LIKE ANY?Non ho potuto resistere - puoi farlo con CONCAT ITEMS:
id = { "R8D-304%" , "R8D-404%" , "R8D-515%" } ;
sql_statement = "SELEZIONA WHERE seriale LIKE" " || articoli concatenati ( id , "'OR seriale LIKE'" ) || "'" ;
Ri: Come utilizzare il comando SQL LIKE ANY?Non è possibile combinare un IN LISTA con LIKE. Potresti creare una serie di istruzioni OR come questa:
id = { "R8D-304%" , "R8D-404%" , "R8D-515%" } ;
per ( io = 1 , io <= nitems ( id ) , io ++,
un oggetto = id [ io ] ;
Se ( io == 1 ,
sql_statement = evalinsert ( "SELEZIONA WHERE seriale LIKE '^ one_item ^'" ) ;
,
sql_statement = evalinsert ( "^ sql_statement ^ OR serial LIKE '^ one_item ^'" ) ;
) ;
) ;
mostrare ( sql_statement ) ;
sql_statement = "SELEZIONA WHERE seriale LIKE 'R8D-304%' O seriale LIKE 'R8D-404%' O seriale LIKE 'R8D-515%'";