Feras estou fazendo uma carga em uma tabela usando SQL LOADER do Oracle
e em um determinado campo da tabela que e de 6 posições tenho uma informação com apenas 4 digitos
é possivel eu preencher com zeros para ficar com as 6 posições naquele campo ?
se sim alguém pode me mostrar como faço isso pois tenho esse site http://www.orafaq.com/wiki/SQL*Loader_FAQ
porém não achei nada que possa fazer o que preciso
http://www.orafaq.com/wiki/SQL*Loader_FAQ#Can_one_modify_data_as_the_database_gets_loaded.3F
Use o método “to_char” se o campo originalmente for numérico e você precisa formatar com zeros à esquerda.
Senão, simplesmente concatene (com “||”) dois zeros à esquerda.
voce pode utilizar a função LPAD
LPAD(campo, tamanho, complemento)
no seu caso voce usaria LPAD(seu campo, 6 , 0)
onde 6 representa o tamanho da sua coluna
e o zero representa o que será usado do lado esquerdo de complemento caso o seu campo seja menor que 6 … vc pode usar o RPAD que ao invés de complementar do lado esquerdo , complementará do lado direito …
t+
Aleksandro eu consigo usar o LPAD no SQL LOADER ?
Pois estou montando o arquivo .CTL assim
INTO TABLE NOME_DA_TABELA (
CULUNA POSITION(1:6)
)
bezier curve
como posso aplicar sua sugestão da forma que estou montando meu CTL pois não entendi
Bom, ele te passei um exemplo naquele link, basta tentar modificá-lo (não vou escrever o comando exato para você, até porque não tenho como saber como é o layout dos dados de entrada e de saída)
[quote=robsonsan]Aleksandro eu consigo usar o LPAD no SQL LOADER ?
Pois estou montando o arquivo .CTL assim
INTO TABLE NOME_DA_TABELA (
CULUNA POSITION(1:6)
)
bezier curve
como posso aplicar sua sugestão da forma que estou montando meu CTL pois não entendi[/quote]
sim , desta forma :
INSERT INTO TABLE foo
Fields terminated by "," OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
(
NAME LPAD(NAME,9,'0')
)
Feras,
valeu deu certo irei postar aqui para futuras duvidas