SQL CONCAT函数
SQL中的CONCAT函数是一个字符串函数,用于合并两个或多个字符串。当我们显示结果时,Concat函数会将空值转换为空字符串。该函数用于连接两个字符串以生成一个单一的字符串。操作符用于连接字符字符串和列字符串。
我们可以在CONCAT函数中使用文字。文字是包括SELECT语句的数字、字符或日期。
CONCAT函数的语法:
SELECT CONCAT (String 1, String 2, String3.., String N)
FROM [Source]
示例-
SQL> SELECT CONCAT ('FIRST', 'SECOND');
CONCAT(‘ FIRST’,’SECOND’) | FIRST SECOND |
---|---|
详细了解 CONCAT 函数,考虑一个 employee_tbl 表,该表具有以下记录 –
SQL> SELECT * FROM employee_ tbl ;
ID | NAME | WORK_DATE | DAILY_TYPING_PAGES |
---|---|---|---|
1 | Michal | 2009-02-15 | 270 |
2 | Zeena | 2003-03-24 | 250 |
2 | kachner | 2007-08-19 | 277 |
2 | warner | 2007-04-25 | 264 |
3 | Joy | 2007-05-17 | 250 |
4 | atire | 2006-06-23 | 270 |
5 | delph | 2004-05-28 | 230 |
所以,如果我们想要连接上面表格中的所有姓名、员工ID和工作日期,可以使用以下命令进行操作 –
SQL > SELECT CONCAT (id , name , work_date )
->FROM employee_ tbl;
CONCAT(id, name, work_date)
1Michal2009-02-15
---
2Zeena2003-03-24
2kachner2007-08-19
2warner2007-04-25
3joy2007-05-17
4atire2006-06-23
5delph2004-05-28
例子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 ||)
输出:
id | last_name | first_name | first_name||last_name |
salary | first_name||salary |
---|---|---|---|---|---|
1 | bean | Mr. | Mr.bean | 10000 | Mr.10000 |
2 | William | Sunita | Sunita William | 50000 | Sunita50000 |
3 | tpoint | Java | Javatpoint | 20000 | Java20000 |
4 | &example | tutorial | tutorial&example | 90000 | Tutorial90000 |
注意:在上面的示例中,我们使用了”||”,它被称为连接运算符,用于连接选择查询中的两个或更多列。这个运算符与列的数据类型无关。 这里,我们连接了2列,即first_name+last_name以及first_name+salary。
我们可以在连接操作符中使用 字符串文字 。
示例1 :使用字符文字
语法
SELECT id, first_name, last_name, salary,
first_name||' has salary '||salary as "new" FROM myTable
输出: (连接三个值并给出一个新的姓名)
id | first_name | last_name | salary | new |
---|---|---|---|---|
1 | Javatpoint | tpoint | 20000 | Java has salary 20000 |
2 | tutorial | &example | 30000 | the tutorial has salary 30000 |
3 | Shane | Watson | 40000 | Shane has salary 40000 |
4 | Jennifer | louse | 60000 | Jennifer has salary 60000 |
注意:我们在select语句中使用了salary作为字符字面量。根据我们在表中的要求,我们可以使用日期字面量和数字字面量。
示例2: 同时使用字符和数字字面量
语法:
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)
输出:
id | first_name | last_name | salary | new |
---|---|---|---|---|
1 | Javatpoint | tpoint | 20000 | Java100 has id 1 |
2 | tutorial | &example | 30000 | Tutorial100 has id 2 |
3 | Shane | Watson | 40000 | Shane100 has id 3 |
4 | Jennifer | louse | 60000 | Jennifer100 has id 4 |
在上面的示例中,我们使用了 the salary 作为字符字面值,以及 100 作为选择语句中的数字认证。