Revisamos exhaustivamente cada artículo de nuestro espacio con la meta de mostrarte en todo momento la información certera y actualizada.
De una pregunta similar DB2: encuentre y compare la longitud del valor en un campo de tabla, agregue RTRIM ya que LENGTH devolverá la longitud de la definición de columna. Esto debería ser correcto:
select * from table where length(RTRIM(fieldName))=10
ACTUALIZACIÓN 27.5.2019: tal vez en versiones anteriores de db2, la función LENGTH devolvió la longitud de la definición de columna. En db2 10.5 probé la función y devuelve la longitud de los datos, no la longitud de la definición de columna:
select fieldname
, length(fieldName) len_only
, length(RTRIM(fieldName)) len_rtrim
from (values (cast('1234567890 ' as varchar(30)) ))
as tab(fieldName)
FIELDNAME LEN_ONLY LEN_RTRIM
------------------------------ ----------- -----------
1234567890 12 10
Uno puede probar esto usando este término:
where length(fieldName)!=length(rtrim(fieldName))
Esto tomará registros con cadenas (en la columna fieldName) que tienen 10 caracteres de largo:
select * from table where length(fieldName)=10
Comentarios y valoraciones del tutorial
Recuerda dar recomendación a esta división si te fue de ayuda.