A função CONCAT em SQL é uma função String, usada para mesclar duas ou mais strings. O serviço Concat converte os valores Nulos em uma string Vazia quando exibimos o resultado. Esta função é usada para concatenar duas strings para formar uma única string. O operador é usado para vincular cadeias de caracteres e sequência de colunas .
Podemos usar um literal em Função CONCAT. Um literal é um número, caractere , ou data que inclui a instrução SELECT.
Sintaxe da função CONCAT:
SELECT CONCAT (String 1, String 2, String3.., String N) FROM [Source]
Exemplo-
SQL> SELECT CONCAT ('FIRST', 'SECOND');
CONCAT('PRIMEIRO','SEGUNDO') | PRIMEIRO SEGUNDO |
Para entender a função CONCAT em detalhes, considere uma tabela Employee_tbl, que possui os seguintes registros -
como determinar o tamanho do monitor
SQL> SELECT * FROM employee_ tbl ;
EU IA | NOME | WORK_DATE | DAILY_TYPING_PAGES |
---|---|---|---|
1 | Michael | 15/02/2009 | 270 |
2 | Zeena | 24/03/2003 | 250 |
2 | Kachner | 19/08/2007 | 277 |
2 | avisador | 25/04/2007 | 264 |
3 | Alegria | 17/05/2007 | 250 |
4 | atraente | 23/06/2006 | 270 |
5 | Delfo | 28/05/2004 | 230 |
Portanto, se quisermos concatenar todos os nomes, IDs de funcionários e data_de_trabalho da tabela acima, podemos fazer isso usando o seguinte comando -
SQL > SELECT CONCAT (id , name , work_date ) ->FROM employee_ tbl; CONCAT(id, name, work_date)
1Michal2009-02-15 |
2Zeena2003-03-24 |
2kachner19/08/2007 |
2warner2007-04-25 |
3joy2007-05-17 |
4atire2006-06-23 |
5delph2004-05-28 |
Exemplo 2:
SELECT id, first_name, last_name, first_name || last_name, salary, first_name || salary FROM myTable Output (Third and Fifth Columns show values concatenated by operator ||)
Saída:
eu ia | sobrenome | primeiro nome | primeiro_nome||sobrenome | salário | primeiro_nome||salário |
---|---|---|---|---|---|
1 | feijão | Senhor. | Sr. Bean | 10.000 | Sr.10000 |
2 | William | Sunita | Sunita William | 50.000 | Sunita50000 |
3 | ponto | Java | Ponto Java | 20.000 | Java20000 |
4 | &exemplo | tutorial | tutorial e exemplo | 90.000 | Tutorial90000 |
Nota: No exemplo acima, usamos '||', que é conhecido como operador de concatenação, e é usado para vincular duas ou mais colunas na consulta de seleção. Este operador é independente do tipo de dados da coluna.
Aqui, vinculamos 2 colunas, ou seja, primeiro_nome+sobrenome e também nome+salário.
Podemos usar literais de string no operador CONCAT.
Exemplo 1 : Usando o caractere literal
Sintaxe
SELECT id, first_name, last_name, salary, first_name||' has salary '||salary as 'new' FROM myTable
Saída: (Concatenando três valores e dando um novo 'nome')
eu ia | primeiro nome | sobrenome | salário | novo |
---|---|---|---|---|
1 | Ponto Java | ponto | 20.000 | Java tem salário 20.000 |
2 | tutorial | &exemplo | 30.000 | o tutorial tem salário 30000 |
3 | Shane | Watson | 40.000 | Shane tem salário de 40.000 |
4 | Jennifer | piolho | 60.000 | Jennifer tem salário 60.000 |
Nota: Usamos salário como um caractere literal na instrução select. Podemos usar o literal de data e o literal de número de acordo com nossos requisitos na tabela.
Exemplo 2: Usando caractere e também número literal
Sintaxe:
SELECT id, first_name, last_name, salary, first_name||100||' has id '||id AS 'new' FROM myTable Output (Making the output readable by concatenating a string with values)
Saída:
eu ia | primeiro nome | sobrenome | salário | novo |
---|---|---|---|---|
1 | Ponto Java | ponto | 20.000 | Java100 tem id 1 |
2 | tutorial | &exemplo | 30.000 | Tutorial100 tem id 2 |
3 | Shane | Watson | 40.000 | Shane100 tem id 3 |
4 | Jennifer | piolho | 60.000 | Jennifer100 tem identificação 4 |
No exemplo acima, usamos o salário como um caractere literal, bem como 100 como número autêntico em nossa instrução select.