none
quebra de caracter RRS feed

  • Pergunta

  • Boa tarde

    tenho uma tabela com de endereço com o campos campos:

    DDD e Telefone

    Porem ao fazer a importação o numero com o ddd foi para o mesmo campo (telefone) ficando o ddd vazio.

    O campo telefone esta assim

    (31)3333-4444
    (31)5555-7777
    (31)3333-4444
    (31)5555-7777
    6666-0000
    (31)3333-4444
    (31)5555-7777
    9999-7777

    OBS. Alguns telefones não tem o ddd cadastrado.

    Como poderei dar um update para ler o campo telefone e retirar o DDD e gravar nos campos corretamente?


    quarta-feira, 18 de novembro de 2015 19:22

Respostas

  • Boa tarde,

    Experimente mais ou menos dessa forma:

    with CTE_DDD as
    (
        select 
            *,
            CHARINDEX(')', Telefone, 2) as PosFimDDD
        from Tabela
        where
            LEFT(Telefone, 1) = '(' and
            CHARINDEX(')', Telefone, 2) > 0
    )
    
    update CTE_DDD
    set
        DDD = SUBSTRING(Telefone, 2, PosFimDDD - 2),
        Telefone = RIGHT(Telefone, LEN(Telefone) - PosFimDDD);

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    • Sugerido como Resposta SimorC quinta-feira, 19 de novembro de 2015 02:08
    • Marcado como Resposta Marcos SJ quinta-feira, 19 de novembro de 2015 18:11
    quarta-feira, 18 de novembro de 2015 19:54