Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lu Lopes

Novato - Vetores, Substring e LOCATE

Recommended Posts

Bom dia,

Pessoal, sou novo nessa área, meio que entrei de gaiato e acabei gostando, no momento não estou cursando nada relacionado a SQL, Logica ou algo do gênero, gostaria de entender os conceitos de VETORES, substring e LOCATE no SQL, alguém poderia me ajudar?

 

No momento, faço coisas básicas, como consultas, create table, inner join, imput e algumas coisas a mais, vim da logística pra essa área e gostei muito, quero aprimorar meu conhecimento antes de tomar a decisão de fazer uma facul ou cursos técnicos, no momento possuo um "tutor" que não dispõe de muito tempo, então faço meu trabalho e nas horas vagas faço testes no banco, lógico que em uma base que não atrapalhe em nada rsrs

 

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

Pessoal, sou novo nessa área, meio que entrei de gaiato e acabei gostando, no momento não estou cursando nada relacionado a SQL, Logica ou algo do gênero, gostaria de entender os conceitos de VETORES, substring e LOCATE no SQL, alguém poderia me ajudar?

 

No momento, faço coisas básicas, como consultas, create table, inner join, imput e algumas coisas a mais, vim da logística pra essa área e gostei muito, quero aprimorar meu conhecimento antes de tomar a decisão de fazer uma facul ou cursos técnicos, no momento possuo um "tutor" que não dispõe de muito tempo, então faço meu trabalho e nas horas vagas faço testes no banco, lógico que em uma base que não atrapalhe em nada rsrs

 

 

Abs

 

Lu Lopes, bem vindo ao fórum e bem vindo ao mundo SQL rs

Nesta área do fórum existem muitos exemplos de cada item que tem dúvida, então vou tentar ser bem objetivo.

 

Existem no mercado atualmente, 3 versões do SQLServer no mercado: SQL 2008, 2008R2 e 2012. Algumas empresas ainda possuem o SQL2000 (que já foi descontinuado) e SQL2005 que irá ser descontinuado em breve:

http://support.microsoft.com/lifecycle/search/default.aspx?sort=PNα=SQL&Filter=FilterNO

 

A nível de estudo, qual a versão você tem para testes? SQL2012?

Algumas funções podem funcionar somente no SQL2012 e não no SQL2008. Se pudesse lhe dar um conselho seria começar logo pelo SQL2012, mas depende muito da empresa que esta.

 

Um exemplo seria o de Vetores:

Olhe os exemplos de sintaxes abaixo:

Para SQL2000:

Set Nocount On Declare @vet_meses Table(Codigo_Mes int identity(1,1),nome char(3))Declare @vet_anos Table(Ano int)Declare @vet_relatorios Table(Codigo_Relatorio int identity(1,1),Nome char(1)) Insert into @vet_meses values ('Jan')Insert into @vet_meses values ('Fev')Insert into @vet_meses values ('Mar')Insert into @vet_meses values ('abr')Insert into @vet_meses values ('Mai')Insert into @vet_meses values ('Jun')Insert into @vet_meses values ('Jul')Insert into @vet_meses values ('Ago')Insert into @vet_meses values ('Set')Insert into @vet_meses values ('Out')Insert into @vet_meses values ('Nov')Insert into @vet_meses values ('Dez') Insert into @vet_anos values (2007)Insert into @vet_anos values (2008)Insert into @vet_anos values (2009)Insert into @vet_anos values (2010)Insert into @vet_anos values (2011)Insert into @vet_anos values (2012)Insert into @vet_anos values (2013)Insert into @vet_anos values (2014)Insert into @vet_anos values (2015) Insert into @vet_relatorios values ('A')Insert into @vet_relatorios values ('B')Insert into @vet_relatorios values ('C')Insert into @vet_relatorios values ('D') Declare@int_RelatorioIni int,@int_RelatorioFim int,@int_AnoIni int,@int_AnoFim int,@int_MesIni int,@int_MesFim int,@str_Ano varchar(4),@str_Mes varchar(3),@str_Relatorio varchar(10) Select @int_RelatorioIni = Min(Codigo_Relatorio),@int_RelatorioFim = Max(Codigo_Relatorio) From @vet_RelatoriosSelect @int_AnoIni = Min(Ano),@int_AnoFim = Max(Ano) From @vet_anosSelect @int_MesIni = Min(Codigo_Mes),@int_MesFim = Max(Codigo_Mes) From @vet_meses While @int_RelatorioINI <= @int_RelatorioFimBeginSelect @str_Relatorio = Nome From @vet_Relatorios where Codigo_Relatorio = @int_RelatorioINI While @int_AnoINI <= @int_AnoFimBeginSelect @str_ano = Ano From @vet_anos where Ano = @int_AnoINI While @int_MesINI <= @int_MesFIMBeginSelect @str_Mes = Nome From @vet_meses where Codigo_Mes = @int_MesINI select 'Exec ' + @str_ano + ' ' + @str_Mes + ' ' + @str_Relatorio Set @int_MesINI = @int_MesINI + 1End Set @int_AnoINI = @int_AnoINI + 1End Set @int_RelatorioINI = @int_RelatorioINI + 1End
Para SQL2005 em diante:
DECLARE @StringDaAplicacao VARCHAR(1000)SET @StringDaAplicacao = '"jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"' DECLARE @xml XML, @Var VARCHAR(1000) -- Retirar as aspas duplas e espaçosSET @Var = REPLACE(@StringDaAplicacao,'"','')SET @Var = REPLACE(@Var,' ','')  -- Substituir o separador por uma tagSET @Var = REPLACE(@Var,',','</i><i>') -- Colocar as tags iniciaisSET @Var = '<e><i>' + @Var + '</i></e>'   -- Converte para XMLSET @xml = CAST(@Var AS XML)  -- Retorna os valores em formato tabular SELECT t.c.value('.','char(3)')FROM @xml.nodes('/e/i') T(c)

 

Note as diferenças de sintaxes para se executar um vetor simples.

 

 

O help do SQL, ou books on line como é chamado é uma ótima referencia a nível de sintaxes:

http://msdn.microsoft.com/pt-br/library/bb418431(v=sql.10).aspx

 

Eu possuo um blog com algumas dicas de T-SQL: http://goo.gl/Qf2sMJ

 

Fique a vontade para postar as dúvidas.

 

Espero ter ajudado.

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu man, obrigado, estarei sempre por aqui, aprendendo sobre a área que é ótima!
Vou estudar mais aqui, qualquer coisa peço uma ajuda, irei acompanhar seu blog.

 

 

 

Forte Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.