Pregunta

Estoy usando REEMPLAZAR en una vista SQL para quitar los espacios a partir de un número de la propiedad.La función es la configuración como esta REEMPLAZAR(pin, ' ', ").En la pantalla verde de la consulta se veía bien.En algo más que obtener los valores hexadecimales de los caracteres en el campo.Estoy seguro de que es una codificación cosa, pero ¿cómo puedo solucionarlo?

Aquí está la declaración que he usado para crear la vista:

CREATE VIEW RLIC2GIS AS SELECT REPLACE(RCAPIN, ' ', '') AS 
RCAPIN13 , RLICNO, RONAME, ROADR1, ROADR2, ROCITY, ROSTAT, ROZIP1, 
ROZIP2, RGRID, RRADR1, RRADR2, RANAME, RAADR1, RAADR2, RACITY,     
RASTAT, RAZIP1, RAZIP2, REGRES, RPENDI, RBLDGT, ROWNOC, RRCODE,    
RROOMS, RUNITS, RTUNIT, RPAID, RAMTPD, RMDYPD, RRFUSE, RNUMCP,     
RDATCP, RINSP, RCAUKY, RCAPIN, RAMTYR, RYREXP, RDELET, RVARIA,     
RMDYIN, RDTLKI, ROPHN1, ROPHN2, ROCOM1, ROCOM2, RAPHN1, RAPHN2,    
RACOM1, RACOM2, RNOTES FROM RLIC2

ACTUALIZACIÓN:He publicado la respuesta a continuación.

¿Fue útil?

Solución

Terminamos usando concat y subcadena para obtener los resultados que quería.

CREATE VIEW RLIC2GIS AS                                  
SELECT CONCAT(SUBSTR(RCAPIN,1,3),CONCAT(SUBSTR(RCAPIN,5,2),      
CONCAT(SUBSTR(RCAPIN,8,2), CONCAT(SUBSTR(RCAPIN,11,3),           
SUBSTR(RCAPIN, 15,3))))) AS CAPIN13, RLICNO, RONAME, ROADR1,     
ROADR2, ROCITY, ROSTAT, ROZIP1, ROZIP2, RGRID, RRADR1, RRADR2,   
RANAME, RAADR1, RAADR2, RACITY, RASTAT, RAZIP1, RAZIP2, REGRES,  
RPENDI, RBLDGT, ROWNOC, RRCODE, RROOMS, RUNITS, RTUNIT, RPAID,   
RAMTPD, RMDYPD, RRFUSE, RNUMCP, RDATCP, RINSP, RCAUKY, RCAPIN,   
RAMTYR, RYREXP, RDELET, RVARIA, RMDYIN, RDTLKI, ROPHN1, ROPHN2,  
ROCOM1, ROCOM2, RAPHN1, RAPHN2, RACOM1, RACOM2, RNOTES FROM RLIC2

Otros consejos

El problema aquí puede ser que lo que usted piensa es el carácter en blanco en ese campo es en realidad algún otro carácter no imprimible.

Puede utilizar el siguiente código SQL para ver lo de caracteres ASCII es en la 4ª posición:

select ascii(substr(RCAPIN,4,1)) 
FROM YOUR-TABLE

A continuación, usted sería capaz de utilizar un reemplazo para ese carácter en lugar de en el espacio en blanco:

select replace(RCAPIN,chr(9))
FROM YOUR-TABLE

Trate de usar NULL en vez de una cadena vacía.es decir,REEMPLAZAR(RCAPIN, ' ', NULL)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top