Mostrando postagens com marcador concat. Mostrar todas as postagens
Mostrando postagens com marcador concat. Mostrar todas as postagens

sábado, 11 de maio de 2019

Concatenação de String de forma eficiente em Golang (Go)

Existem algumas maneiras de concatenar strings em Golang, porém a mais prática e rapida é com  a utilização do tipo Buffer que fica dentro da classe bytes.
O Buffer pode ser visto em go com uma espécie de StringBuffer em Java.

Exemplo:

package main

import ("fmt"
         "bytes")

func main(){

  var buf bytes.Buffer
 

  buf.WriteString("Menu nome é ")
 

  buf.WriteString("John")
 

  result := buf.String()


  fmt.Println(result)

}



Onde:

  • var buf bytes.Buffer - Declaração da várivel tipo Buffer.
  • buf.WriteString("Menu nome é ") 
  • result := buf.String() - Obtenção da String já concatenada.

sexta-feira, 10 de maio de 2019

Concatenando String de forma eficiênte em java

Há momentos que é necessário concatenar ("juntar") uma grande quantidade de Strings em java isso pode ser feito dentre as maneiras simples as duas listadas abaixo:


Pela junção com o operador mais +

...
String x = stringY+stringZ;
...


Exemplo:

     public static void main(String args[]) {
      
        String texto = "Teste 01";
      
        for(int i=0;i<10000 br="" i="">        {
            texto=texto+" Teste "+i;
        }
    }

Pelo método concat da própria classe String


String x = stringY.concat(stringZ);

 Exemplo:

     public static void main(String args[]) {
      
        String texto = "Teste 01";
      
        for(int i=0;i<10000 br="" i="">        {
            texto=texto.concat(" Teste "+i);
        }
    }


Ambas maneiras são validas, porém quando é necessário juntar uma grande quantidade de Strings essas maneiras se tornam defasadas. Para tiramos melhor aproveito uma ótima saída é utilizar a classe StringBuilder.

Sintaxe:

StringBuilder nome = new StringBuilder();

nome.append(string);

Onde:
nome.append(String); - Método para concatenação da string.


Exemplo:

     public static void main(String args[]) {
      
        StringBuilder texto=new StringBuilder();

      
        for(int i=0;i<10000 br="" i="">        {
            texto.append("Teste "+i);

        }
    }




Comparativo

Abaixo é possível ver uma classe que faz a comparação entre os tipos de concatenação acima.
 

 public class Teste {

    public static void main(String args[]) {

      
        String texto = "Teste 01";
        long inicio = System.nanoTime();
        long diferenca;
        //**********************************************
        for(int i=0;i<10000 br="" i="">        {
            texto = texto+"Teste "+i;
        }
      
        diferenca = System.nanoTime()-inicio;
        System.out.printf("\n\nCom soma +");
        System.out.printf("\nTempo: %d ns",(diferenca));
        System.out.printf("\nTamano: %d ns",texto.length());

        inicio = System.nanoTime();
        texto="";

        //**********************************************
        for(int i=0;i<10000 br="" i="">        {
            texto = texto.concat("Teste "+i);
        }
      
        diferenca = System.nanoTime()-inicio;
        System.out.printf("\n\nCom concat");
        System.out.printf("\nTempo: %d ns",(diferenca));
        System.out.printf("\nTamano: %d ns",texto.length());
      
        //**********************************************
        StringBuilder texto2=new StringBuilder();
        inicio = System.nanoTime();

        for(int i=0;i<10000 br="" i="">        {
            texto2.append("Teste "+i);
        }
      
        diferenca = System.nanoTime()-inicio;
        System.out.printf("\n\nCom StringBuilder");
        System.out.printf("\nTempo: %d ns",(diferenca));
        System.out.printf("\nTamano: %d ns",texto2.toString().length());

    }

}



Saída:

Com soma +
Tempo: 293225120 ns
Tamano: 98898 ns

Com concat
Tempo: 23470066971 ns
Tamano: 98890 ns

Com StringBuilder
Tempo: 4156625 ns
Tamano: 98890 ns



Como foi possível ver o método com StringBuilder é muito mais rápido do que as outras maneiras.

quinta-feira, 4 de maio de 2017

Como juntar o conteudo de duas ou mais colunas em uma só no Mysql

Resumo


SELECT CONCAT(COLUNA1,COLUNA2,...,COLUNAN) FROM NOME_TABELA

Introdução


O principal objetivo deste post é explicar de maneira simples e rápida com ose concatena o resultado de duas ou mais colunas em uma unica.

Concatenando colunas


Para fazer a concatenação de duas ou mais colunas em uma unica coluna utilizaremos o comando CONCAT.

Sintaxe:

SELECT CONCAT(COLUNA1,COLUNA2,...,COLUNAN) FROM NOME_TABELA


Onde:

- COLUNA1, COLUNA2,...,COLUNAN - Colunas a seren concatenadas.


Exemplo:

Image que exista uma tabela chamada USUARIO que tenha duas colunas, NOME e SOBRENOME. Caso você queira juntar as duas no resultado de uma consulta a query seria:

SELECT CONCAT(NOME,SOBRENOME) FROM USUARIO

segunda-feira, 3 de junho de 2013

Concatenando Strings ao resultado de uma Query (SELECT) (Firebird)




Introdução

O principal objetivo deste post é explica de maneira simples e rápida como se pode
manipular o resultado da execução de uma determinada query no banco de dados Firebird.


Montando ambiente de teste

Para testarmos neste post iremos criar uma tela simples chamada PESSOA que guarda algumas informações
pertinentes a uma determinada pessoa (DATA_NASCIMENTO, nome, numero de filhos)

CREATE TABLE PESSOAS
(
    PES_ID INTEGER PRIMARY KEY,
    PES_DATA_NASCIMENTO DATE,
    PES_NUMERO_FILHOS INT,
    PES_NOME VARCHAR(48)
);



Após criar uma tabela será necessário popula-la.

INSERT INTO PESSOAS VALUES(1,'1988-12-31',3,'MARCOS');
INSERT INTO PESSOAS VALUES(2,'1982-03-31',5,'MARIO');
INSERT INTO PESSOAS VALUES(3,'1997-10-03',4,'JULHO');
INSERT INTO PESSOAS VALUES(4,'1991-11-12',2,'ROBERTO');
INSERT INTO PESSOAS VALUES(5,'1989-12-15',1,'FERNANDO');



Agora podemos iniciar o post de vez.


Concatenando o resultado com String já definidas

Para concatenar o resultado de um query com uma string já definida basta colocar string entre aspas simples
e depois colocar dois paipes | após a ultima aspas simples, vide exemplo abaixo:

SELECT 'Bom dia '|| PES_NOME ||', tudo bem ?' FROM PESSOAS;

Neste exemplo o resultado será:

'Bom dia MARCOS, tudo bem ?'
'Bom dia MARIO, tudo bem ?'
'Bom dia JULHO, tudo bem ?'
'Bom dia ROBERTO, tudo bem ?'
'Bom dia FERNANDO, tudo bem ?'