Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas
Tengo un campo del tipo
PROVINCIA
013002 CIUDAD REAL |
028041 MADRID |
048340 VIZCAYA |
MALAGA |
028341 MADRID |
007800 BALEARES |
011130 CADIZ |
011130 CADIZ |
011500 CADIZ |
021100 HUELVA |
021100 HUELVA |
021760 HUELVA |
027700 LUGO |
Hay alguna forma de que queden solo las provincias al modo
CIUDAD REAL
MADRID
VIZCAYA
MALAGA....
El problema como podeis ver hay campos del tipo 013002 ciudad real, malaga es decir unos tienene numeros antes de las provincias y otros no.
Agradecido de antemano por vuestra ayuda....
Existe una función para purgar los caracteres que no quieres, en tu caso, para quitar los números:
Ejemplo:
purgechar ( 'a1b2c3','123' ) returns 'abc'
Tu caso, en el script de carga:
LOAD
...
purgechar(PROVINCIA,'0123456789') as PROVINCIA,
...
FROM <origende datos>;
Hola Galvan,
Puedes utilizar el código ASCII del primer carácter de la cadena PROVINCIA para identificar si comienza por número o texto y desechar la parte izquierda hasta el primer espacio en blanco en el primer caso:
if(ord(left(PROVINCIA,1))>65,PROVINCIA,mid(PROVINCIA,index(PROVINCIA,' ')+1)) as nombre_provincia
te adjunto un fichero con la soluciónm
Existe una función para purgar los caracteres que no quieres, en tu caso, para quitar los números:
Ejemplo:
purgechar ( 'a1b2c3','123' ) returns 'abc'
Tu caso, en el script de carga:
LOAD
...
purgechar(PROVINCIA,'0123456789') as PROVINCIA,
...
FROM <origende datos>;
Perdonad pero acabo de regresar de vacaciones. Las 3 opciones son buenas, pero me quedo con la última porque quizás es la mas sencilla de aplicar. Gracias de todas formas a todos por vuestras respuestas
Ten en cuenta que la utilización de la función purgechar dejará un espacio en blanco al inicio del nombre de la provincia correspondiente al espacio que separa el número y el nombre. Colocar el carácter ' ' (espacio) como un carácter a eliminar en purgechar no es una opción por provincias con dos palabras. Utiliza la función ltrim para eliminarlo:
ltrim(purgechar(PROVINCIA,'0123456789') as PROVINCIA
Espero que te sea útil.
Un saludo