#1
|
|||
|
|||
Consulta SQL
Buenos días a todos. Tengo una tabla que en uno de sus campos tiene el valor "1S.FE190209". A mi me interesa recuperar todos los registros que coincidan con el "190209". Donde "190209" es el valor que toma una variable a partir de la fecha. Estuve jugando con el LIKE dentro de la consulta SQL pero no funcionó. Les dejo el codigo que tengo hasta ahora:
CONCATENATE p_fecha+6(2) p_fecha+4(2) p_fecha+2(2) INTO fecha. select * from table into table it_table where campo LIKE '%' fecha. (obviamente la sintaxis no es la correcta, es para que se den una idea de lo que quiero hacer) |
#2
|
|||
|
|||
select * from table into table it_table where campo LIKE '%fecha'. |
#3
|
|||
|
|||
Lo intenté también, pero no funciona porque a fecha lo toma como un literal y no como una variable. |
#4
|
|||
|
|||
CONCATENATE '%' p_fecha+6(2) p_fecha+4(2) p_fecha+2(2) INTO fecha. select * from table into table it_table where campo LIKE fecha. |
#5
|
|||
|
|||
Lamentablemente tampoco funciona, el valor del campo es "1S.FE190209", yo debo traer todo lo que contenga "190209" sin importar que haya antes (en este caso "1S.FE"). Si hago "...campo LIKE fecha..." va a intentar traerme lo que coincida exactamente con fecha. Lógicamente, no va a encontrar nada. |
#6
|
|||
|
|||
Si el valor 190209 es siempre el mismo podes hacer select * from table into table it_table where campo LIKE '%190209'. Ahora si ese valor cambia ya sea porque el usuario ingreso un valor distinto o esta dentro de un LOOP debes acomodar el CONCATENATE y debería funcionar. CONCATENATE '%' p_fecha+6(2) p_fecha+4(2) p_fecha+2(2) INTO fecha. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|