📅  最后修改于: 2020-11-12 00:38:14             🧑  作者: Mango
SQL中的CONCAT函数是一个String函数,用于合并两个或更多字符串。当我们显示结果时,Concat服务会将Null值转换为Empty字符串。此函数用于将两个字符串连接在一起以形成单个字符串。运算符是用来连接<字符>和列字符串。
我们可以在CONCAT Function中使用字面量。字面量是包含SELECT语句的数字,字符或日期。
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和work_日期,则可以使用以下命令进行操作-
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 |
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。
我们可以在CONCAT运算符使用字符串字面量。
示例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 |
注意:我们在选择语句中使用薪水作为字符字面量。我们可以根据表中的要求使用日期字面量和数字字面量。
示例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 |
在上面的示例中,我们在选择语句中使用了薪水作为字符字面量以及100作为真实数字。