#1
|
|||
|
|||
where campo = '5***' los * pueden ser cualquier valor
Hola a todos!
Tengo una subquery y dentro de la sentencia where debo poner que un campo en concreto sea 5**** o 6****, es decir cinco lo que sea o seis lo que sea...¿alguien puede decirme cómo puedo hacer esto en una select? SELECT SINGLE * INTO L_WA_ITAB FROM t77ed WHERE awart ='5***' o '6***'??? He probado a creear una variable de tipo string y concatenar: concatenate '5' '%' into variable. Y en vez de %, * pero nada. Y también creando rangos... Seguro que es una tontería pero...alguien puede decirme cómo hacerlo. Muchas gracias!! |
#2
|
||||
|
||||
Usa like en lugar de = where campo like ....
__________________
------------------- ¿Dudas para descargar manuales? Ver este tema -> |
#3
|
|||
|
|||
Gracias,
concatenate '5' '%' into variable. SELECT SINGLE * INTO L_WA_ITAB FROM t77ed WHERE awart LIKE variable. Todo ok |
#4
|
|||
|
|||
En verdad si vos sabes que son 4 caracteres deberías usar
LIKE '5___'. el _ es un comodín pero determina una posición, por ende la búsqueda va a ser un poco más rápida, ya que descartas todos los valores mayores a 4 dígitos, en cambio si usas '5%' toma todo lo que empieza con 5. |
#5
|
|||
|
|||
Eso de los guiones bajos es la primera vez que lo veo, funciona? yo estoy probando y no me funciona.
SAludos |
#6
|
|||
|
|||
Si, te paso el link a la SAP HELP
Comparing Strings To find out whether the value of a column matches a pattern, use: SELECT ... WHERE <s> [NOT ] LIKE <f> [ESCAPE <h>] ... The condition is true if the value of the column <s> matches [does not match] the pattern in the data object <f>. You can only use this test for text fields. The data type of the column must be alphanumeric. <f> must have data type C. You can use the following wildcard characters in <f>: % for a sequence of any characters (including spaces). _ for a single character. For example, ABC_EFG% matches the strings ABCxEFGxyz and ABCxEFG, but not ABCEFGxyz. If you want to use the two wildcard characters explicitly in the comparison, use the ESCAPE option. ESCAPE <h> specifies an escape symbol <h>. If preceded by <h>, the wildcards and the escape symbol itself lose their usual function within the pattern <f>. The use of _ and % corresponds to Standard SQL usage. Logical expressions elsewhere in ABAP use other wildcard characters (+ and *). You cannot use LIKE in the ON condition of the FROM clause. |
#7
|
|||
|
|||
Ok, gracias pero haciendo dos select a la LFA1, una con el % y otra con _ para que salgan cosas distintas, me devuelve los mismos mismos registros.
Que puedo estar haciendo mal? por que esto me parece bastante interesante y util a la hora de optimizar consultas. Gracias de antemano. Saludos. Edito: tienes toda la razón del mundo, lo estaba probando mal estaba poniendo algo que me devolvia lo misma. gracias nuevamente. Úlima edición por jarabas fecha: 27/06/11 a las 14:01:01. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|