none
Select para localizar tabelas com nome acima de 6 caracteres RRS feed

  • Pergunta

  • Bom dia,

    Preciso localizar tabelas, cujo nome ultrapasse  caracteres. Como poderia montar esse select?

    abs,


    Wagner Marrane
    W.Marrane
    sexta-feira, 12 de março de 2010 11:45

Respostas

  • Wagner Marrane,
    Bom dia!

    Segue abaixo um exemplo de como daria para você fazer esta consulta:

    -- Grava em uma temporária duas colunas, a primeira contendo o Nome da Tabela e a segunda contendo as informações acima o número
    -- de caracteres que você determinar (no meu exemplo coloquei 6)
    select Name,
           substring(name, 6, 100) as NomeSubstring
      into #tempTables
      from sysobjects
     where type = 'u'
    
    ou em 2005 e 2008
    
    select Name,
              substring(name, 6, 100) as NomeSubstring
       into #tempTables
     from sys.tables
    
    -- Select na temporária trazendo comente os Nomes das tabelas que contém valores no campo NomeString, ou seja,
    -- que possuem caracteres igual ou acima do valor determinado
    select Name
      from #tempTables
     where NomeSubstring <> ''

    Espero ter lhe ajudado.


    Grande Abraço,
    Gabriel B Azevedo | Especializando em Engenharia de Software e Banco de Dados|
    gabriel.ccomputacao@hotmail.com
    http://gbabarroso.spaces.live.com/default.aspx
    Classifique as respostas. O seu feedback é imprescindível. Obrigado!
    • Marcado como Resposta W. Marrane sexta-feira, 12 de março de 2010 13:27
    sexta-feira, 12 de março de 2010 12:01
  • Olá amigo, a query abaixo deve resolver o seu problema.

    SELECT * 
    FROM sysobjects    -- Principal View de sistema - que contém dados sobre os obetos do database (UDFs,SPs,PKs,FKs...)
    WHERE xtype='U'	   -- Obetos do tipo: User Table	
      AND LEN(name)>6  -- Cujo nome tenha mais de 6 caracteres
    
    Esta consulta pode ser executada nas versões 2000, 2005 e 2008 sem problemas.

    Espero ter ajudado.

    Abraços!
    __________________________________________
    Deyvid William - MCP, MCTS, MCITP
    • Sugerido como Resposta Deyvid William sexta-feira, 12 de março de 2010 12:05
    • Marcado como Resposta W. Marrane sexta-feira, 12 de março de 2010 13:27
    sexta-feira, 12 de março de 2010 12:04

Todas as Respostas

  • Wagner Marrane,
    Bom dia!

    Segue abaixo um exemplo de como daria para você fazer esta consulta:

    -- Grava em uma temporária duas colunas, a primeira contendo o Nome da Tabela e a segunda contendo as informações acima o número
    -- de caracteres que você determinar (no meu exemplo coloquei 6)
    select Name,
           substring(name, 6, 100) as NomeSubstring
      into #tempTables
      from sysobjects
     where type = 'u'
    
    ou em 2005 e 2008
    
    select Name,
              substring(name, 6, 100) as NomeSubstring
       into #tempTables
     from sys.tables
    
    -- Select na temporária trazendo comente os Nomes das tabelas que contém valores no campo NomeString, ou seja,
    -- que possuem caracteres igual ou acima do valor determinado
    select Name
      from #tempTables
     where NomeSubstring <> ''

    Espero ter lhe ajudado.


    Grande Abraço,
    Gabriel B Azevedo | Especializando em Engenharia de Software e Banco de Dados|
    gabriel.ccomputacao@hotmail.com
    http://gbabarroso.spaces.live.com/default.aspx
    Classifique as respostas. O seu feedback é imprescindível. Obrigado!
    • Marcado como Resposta W. Marrane sexta-feira, 12 de março de 2010 13:27
    sexta-feira, 12 de março de 2010 12:01
  • Olá amigo, a query abaixo deve resolver o seu problema.

    SELECT * 
    FROM sysobjects    -- Principal View de sistema - que contém dados sobre os obetos do database (UDFs,SPs,PKs,FKs...)
    WHERE xtype='U'	   -- Obetos do tipo: User Table	
      AND LEN(name)>6  -- Cujo nome tenha mais de 6 caracteres
    
    Esta consulta pode ser executada nas versões 2000, 2005 e 2008 sem problemas.

    Espero ter ajudado.

    Abraços!
    __________________________________________
    Deyvid William - MCP, MCTS, MCITP
    • Sugerido como Resposta Deyvid William sexta-feira, 12 de março de 2010 12:05
    • Marcado como Resposta W. Marrane sexta-feira, 12 de março de 2010 13:27
    sexta-feira, 12 de março de 2010 12:04