none
eliminar os 5 primeiros caracteres de uma coluna RRS feed

  • Pergunta

  • Boa tarde a todos , 

    estou precisando de um auxilio , tenho uma tabela onde preciso remover os 5 primeiros caracteres de uma coluna 

    onde o nome da tabela dbo.referencias e a coluna REF_DESCRICAO

    Durante o cadastro foram inseridos valores invalidos e tenho que apagar esses registros . 

    Agradeço se for possivel me auxiliarem nessa dúvida , muito obrigado a todos 

    domingo, 28 de abril de 2013 16:14

Respostas

  • Boa tarde Araujo.

    Caso queira testar:

    update r
    set REF_DESCRICAO = REPLACE(REF_DESCRICAO,LEFT(REF_DESCRICAO,5),'')
    from dbo.referencias r

    Pra rodar esse script, garanta que todos os dados da coluna contenham os cinco caracteres que você pretende tirar. Se tiver ao menos um campo fora dessa condição, os dados ficarão comprometidos, já que esse update não possui filtro.




    -

    • Marcado como Resposta Araujo SP domingo, 28 de abril de 2013 20:02
    domingo, 28 de abril de 2013 19:52

Todas as Respostas

  • Olá Araújo...

    Faça assim...

    UPDATE dbo.referencias
    SET REF_DESCRICAO = RIGHT(REF_DESCRICAO, LEN(REF_DESCRICAO ) - 5)

    Espero ter lhe ajudado...

    Abraço..


    Não esqueça de marcar o post como útil caso tenha te ajudado.

    domingo, 28 de abril de 2013 16:54
  • Oi Roberson obrigado pela dica , porém não eliminou os caracteres que preciso , vc teria alguma outra forma para que eu elimine esses caracteres 

    no caso a tabela é composta da seguinte forma : 

    SELECT         REF_COLECAO, REF_REFERENCIA, REF_DESCRICAO, REF_PRECO, REF_CUSTO, REF_ICMS, REF_ISENCAO, REF_UNIDADE,REF_CADASTRO, REF_MATERIA, REF_PROMOCAO, REF_GRUPO, REF_TIPO, REF_ATACADO, REF_LINHA, REF_CUSTO_GERENCIAL, REF_FATURAMENTO, REF_PESO_BRUTO, REF_PESO_LIQUIDO, REF_IPI, REF_CODIGO_GRADE, REF_D_PRECO, REF_FORNECEDOR, REF_REFERENCIA_FORNECEDOR, REF_MODELO, REF_LIQUIDACAO, REF_CONSIGNADO, REF_INATIVO, REF_ULT_VENDA, REF_ULT_COMPRA, REF_REDE, REF_GUELTA, REF_D1_COMPRA, REF_Q1_COMPRA, REF_OBS, REF_REPETICAO, REF_COMPRADOR, REF_ATUALIZACAO, REF_VENDA_OF,REF_P_ATACADO, REF_COMISSAO, REF_V_GUELTA, REF_SERIE, REF_LIQUIDACAO2, REF_CONSIGNADO2, REF_INATIVO2, REF_GUELTA2, REF_REPETICAO2, REF_SERIE2, REF_DESC2, REF_DIFERENTE, REF_PRODUCAO, REF_CLASSIFICACAO, REF_NAO_CONTROLA,REF_DECIMAL, REF_MAXIMA, REF_NCM, REF_ASSINA, REF_ECOMMERCE, REF_GRADE_PACK

    FROM         REFERENCIAS

    ONDE ATUALMENTE A COLUNA REF_DESCRICAO ME INFORMA OS VALORES DA SEGUINTE FORMA :

    5905 CONJUTO P/M/G

    E PRECISO QUE NESSE CAMPO APAREÇA APENAS 

    CONJUNTO P/M/G

    OBRIGADO 

    domingo, 28 de abril de 2013 17:50
  • Deleted
    domingo, 28 de abril de 2013 19:07
  • oi Jose Diz  , 

    quando utilizo a opção que vc sujeriu recebo o seguinte retorno de erro :

    Erro de Execução do SQL 
    Instrução SQL executada: UPDATE REFERENCIAS SET REF_DESCRIÇÃO = SUBSTRING(LTRIM(REF_DESCRICAO)),6,
    LEN(LTRIM(RTRIM(REF_DESCRICAO))) -5)
    Origem do Erro: .Net SqlClient Data Provider 
    Mensagem de Erro:Parâmetro de comprimento inválido passado para a função LEFT ou SUBSTRING.
    A instrução foi finalizada

    domingo, 28 de abril de 2013 19:26
  • Deleted
    domingo, 28 de abril de 2013 19:34
  • Oi Jose Diz , 

    Desculpe quando postei para vc o erro digitei o mesmo em editor de texto que possui corretor ortografico ,  

    no caso eu copie o comando que vc me informou e colei e ele retorna com o erro que informei anteriormente 

    obrigado 

    na execucao ele informa que é necessário declarar a variável escalar "@TamRef".
    • Editado Araujo SP domingo, 28 de abril de 2013 19:44
    domingo, 28 de abril de 2013 19:40
  • Boa tarde Araujo.

    Caso queira testar:

    update r
    set REF_DESCRICAO = REPLACE(REF_DESCRICAO,LEFT(REF_DESCRICAO,5),'')
    from dbo.referencias r

    Pra rodar esse script, garanta que todos os dados da coluna contenham os cinco caracteres que você pretende tirar. Se tiver ao menos um campo fora dessa condição, os dados ficarão comprometidos, já que esse update não possui filtro.




    -

    • Marcado como Resposta Araujo SP domingo, 28 de abril de 2013 20:02
    domingo, 28 de abril de 2013 19:52
  • oi Renato 

    funcionou , muito obrigado 

    • Marcado como Resposta Araujo SP domingo, 28 de abril de 2013 20:00
    • Não Marcado como Resposta Araujo SP domingo, 28 de abril de 2013 20:00
    • Editado Araujo SP domingo, 28 de abril de 2013 20:02
    domingo, 28 de abril de 2013 19:56
  • Deleted
    domingo, 28 de abril de 2013 20:04
  • Olá Araújo,

    Que bom que deu certo.

    De nada.


    -

    domingo, 28 de abril de 2013 20:13
  • muito obrigado José Diz pelo apoio
    domingo, 28 de abril de 2013 20:14