Selezionare Dove(Contiene()) UtilizzoTrovo spesso che la funzione Contains() all'interno della funzione Select Where() possa essere utile. Cosa succede se desidero selezionare tutte le righe in cui una colonna designata contiene la stringa "a" quando è seguita da un numero? Ad esempio, in una colonna con i valori "a", "a12" e "absent", verrebbe selezionata solo la riga con "a12". Grazie per eventuali suggerimenti!
Ri: Selezionare Dove (Contiene()) UtilizzoBella soluzione pulita Mark.Devo amare quelle espressioni regolari.Sono curioso di sapere perché hai [] dopo :Text?Sembra funzionare senza di essa.
A proposito, anche questo funziona:
dt << Select Where(
Regex( :Text, "a\d+" ) == :Text
);
Ri: Selezionare Dove (Contiene()) UtilizzoUn'altra opzione:
Names Default to Here( 1 );
dt = New Table( "Select by Criterion",
New Column( "Text", Character, Values( { "a", "a12", "absent" } ) )
);
dt << Select Where(
Not( Is Missing( Regex( :Text[], "a\d+" ) ) )
);Ri: Selezionare Dove (Contiene()) UtilizzoFunzionerà se i numeri sono solo dopo la prima occorrenza della lettera "a"
dt << select where(contains(:name,"a") &
IsMissing(num(substr(:name,contains(:name,"a")+1,1)))==0);