PDA

Ver la Versión Completa : abap-sql mayúsculas y minúsculas


sejopa
10/02/09, 11:28:03
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
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!

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
...,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...