Seleccione el uso de Where(Contains())A menudo encuentro que la función Contiene () dentro de la función Seleccionar dónde () puede ser conveniente. ¿Qué pasa si me gustaría seleccionar todas las filas donde una columna designada contiene la cadena "a" cuando va seguida de un número? Por ejemplo, en una columna con los valores "a", "a12" y "ausente", solo se seleccionaría la fila con "a12". ¡Gracias por cualquier consejo!
Re: Seleccione el uso de Where(Contains())Buena solución limpia Mark.Tengo que amar esas expresiones regulares.Tengo curiosidad por qué tiene [] después de: ¿Texto?Parece funcionar sin él.
Por cierto, esto también funciona:
dt << Select Where(
Regex( :Text, "a\d+" ) == :Text
);
Re: Seleccione el uso de Where(Contains())Otra opción:
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+" ) ) )
);Re: Seleccione el uso de Where(Contains())Esto funcionará si los números están solo después de la primera aparición de la letra "a".
dt << select where(contains(:name,"a") &
IsMissing(num(substr(:name,contains(:name,"a")+1,1)))==0);