rpad 无法正常工作
rpad doesn't work correctly
我正在做一个非常简单的查询 (rpad):
SELECT
RPAD(COMERCIO,40,' ')
FROM
SIEBEL.transacciones_acumulaciones_vm
WHERE ESTADO = 'Procesado'
AND NUMERO in ( '20232385',
'20225479',
'20265516');
输出:
RESTAURANTE EL QUINC (lenght 40)
MC DONALD (lenght 9)
CARREFOUR EXPRESS-PA (lenght 40)
这里的主要问题是几乎每 1.000.000 行来自特定列的文字不会添加该空格。
您的数据可能有隐藏字符。在 unix 中,我使用 cat
命令查看平面文件:
$ cat -vet my-file
... 显示扩展字符和非打印字符。 (例如,'tab' 在输出中显示为 ^T
。)
使用 oracle,这是在文本字段中突出显示非打印字符的一种方法:
select replace(regexp_replace(COMERCIO,'[^[:print:]]', '!ACK!'),' ','.') as CAT_VET
from SIEBEL.transacciones_acumulaciones
where ESTADO = 'Procesado'
AND NUMERO in ( '20232385',
'20225479',
'20265516');
...这将显示 COMERCIO
值,用标记替换所有非打印字符 !ACK!
任何带句点字符的空格。
这不会告诉您哪些字符有问题,但它确实提供了 guidance/verification 个问题。
我正在做一个非常简单的查询 (rpad):
SELECT
RPAD(COMERCIO,40,' ')
FROM
SIEBEL.transacciones_acumulaciones_vm
WHERE ESTADO = 'Procesado'
AND NUMERO in ( '20232385',
'20225479',
'20265516');
输出:
RESTAURANTE EL QUINC (lenght 40)
MC DONALD (lenght 9)
CARREFOUR EXPRESS-PA (lenght 40)
这里的主要问题是几乎每 1.000.000 行来自特定列的文字不会添加该空格。
您的数据可能有隐藏字符。在 unix 中,我使用 cat
命令查看平面文件:
$ cat -vet my-file
... 显示扩展字符和非打印字符。 (例如,'tab' 在输出中显示为 ^T
。)
使用 oracle,这是在文本字段中突出显示非打印字符的一种方法:
select replace(regexp_replace(COMERCIO,'[^[:print:]]', '!ACK!'),' ','.') as CAT_VET
from SIEBEL.transacciones_acumulaciones
where ESTADO = 'Procesado'
AND NUMERO in ( '20232385',
'20225479',
'20265516');
...这将显示 COMERCIO
值,用标记替换所有非打印字符 !ACK!
任何带句点字符的空格。
这不会告诉您哪些字符有问题,但它确实提供了 guidance/verification 个问题。