📜  SQL CONCAT函数

📅  最后修改于: 2020-11-12 00:38:14             🧑  作者: Mango

SQL CONCAT函数

SQL中的CONCAT函数是一个String函数,用于合并两个或更多字符串。当我们显示结果时,Concat服务会将Null值转换为Empty字符串。此函数用于将两个字符串连接在一起以形成单个字符串。运算符是用来连接<字符>和列字符串。

我们可以在CONCAT Function中使用字面量。字面量是包含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和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

范例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。

我们可以在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作为真实数字。