MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   abap-sql mayúsculas y minúsculas (foro/showthread.php?t=27980)

sejopa 10/02/09 11:28:03

abap-sql mayúsculas y minúsculas
 
Hola compañeros!

Necesito que el SQL de ABAP no distinga entre mayusculas y minusculas a la hora de buscar un campo tipo char(40).

Por ejemplo si en la base de datos existe 'PEPE' y busco 'pepe' no me lo mostrará y lo mismo al contrario.

He probado el comando upper dentro del where tal como...
"where upper( descr ) = upper( busca_descr ) "..pero no funciona.

Alguna sugerencia???

Gracias!

miguel.esteban.martin 10/02/09 11:52:27

utiliza esta sentencia y luego ya realiza el select
TRANSLATE <campo> TO { UPPER | LOWE } CASE.

sejopa 10/02/09 13:53:09

Eso servirá parcialmente, solamente en caso de que PEPE exista en mayúsculas , pero y si existe en la bbdd en minusculas??? No hay ningun comando en sql para que no tenga en cuenta esto???

PD: Sé que se podria poner en el where un OR con una variable con la palabra en mayusculas y con otra en minusculas... pero seguiria sin funcionar lo que quiero, ya que quizas tb exista en la base de datos 'PepE'!!!!

Se puede sacar de alguna forma???

DavidXD_XD 10/02/09 14:06:06

A mi me paso lo mismo con unos nombres de la impresora ... una posible solucion es esta ... bajate a una tabla interna los registros de la tabla de BD y cuando la tengas conviertelo todo a mayuscula o minusculas y ahi recien realizas la busqueda, claro q es recomendable si la tabla no es grande .... un saludo :D

sejopa 10/02/09 16:22:55

Vaya... bueno, creo que tendré que rendirme... ya que no es solo a una unica tabla..sino que a varias...

Muchas gracias a todos!

Saludos

jarabas 13/07/10 08:33:29

A mi me pasa lo mismo alguna ayuda? Lo de descargarlo a una tabla interna no me vale ya que admite patrones el campo de búsqueda (*).

Gracias y saludos

Garces 14/07/10 19:52:06


Lo que yo haría es barrer ambas opciones (mayúsculas o minúsculas) en la sentencia...

en tu caso sería algo así...

"where descr = busca_descr OR descr = busca_descr2"

donde...

'busca_descr' tiene el valor en minúsculas
'busca_descr2' tiene el valor en MAYÚSCULAS

Previamente tendrías que utilizar la siguiente sentencia:

busca_descr2 = busca_descr.
TRANSLATE busca_descr2 TO UPPER CASE.

Jonathan Barrio 16/07/10 08:14:46

Pues lo aconsejable y correcto...
 
...,en mi criterio, en caso que se pueda, seria cambiar los valores de la tabla de BBDD a unos formatos standard.

Supongo que no son claves que enlanzan con otros, datos internos de sistema.

Ahora, intentar vendele a un funcional de sistema que lo aconsejable es un "Z" que actualice los valores de una tabla a un formato...


Husos Horarios son GMT. La hora en este momento es 19:00:18.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web