1、
Concat
()
函数
1.1 MySQL的concat函数可以连接一个或者多个字符串 , 如
mysql > select concat ( '10' );
+--------------+
| concat ( '10' ) |
+--------------+
| 10 |
+--------------+
1 row in set ( 0.00 sec )
mysql > select concat ( '11' , '22' , '33' );
+------------------------+
| concat ( '11' , '22' , '33' ) |
+------------------------+
| 112233 |
+------------------------+
1 row in set ( 0.00 sec )
而Oracle的concat函数只能连接两个字符串
SQL > select concat ( '11' , '22' ) from dual ;
1.2 MySQL的concat函数在连接字符串的时候,只要其中一个是NULL , 那么将返回NULL
mysql > select concat ( '11' , '22' , null );
+------------------------+
| concat ( '11' , '22' , null ) |
+------------------------+
| NULL |
+------------------------+
1 row in set ( 0.00 sec )
而Oracle的concat函数连接的时候,只要有一个字符串不是NULL , 就不会返回NULL
SQL > select concat ( '11' , NULL ) from dual ;
CONCAT
--
11
2、concat_ws () 函数 , 表示concat with separator , 即有分隔符的字符串连接
如连接后以逗号分隔
mysql > select concat_ws ( ',' , '11' , '22' , '33' );
+-------------------------------+
| concat_ws ( ',' , '11' , '22' , '33' ) |
+-------------------------------+
| 11 , 22 , 33 |
+-------------------------------+
1 row in set ( 0.00 sec )
和concat不同的是 , concat_ws函数在执行的时候 , 不会因为NULL值而返回NULL
mysql > select concat_ws ( ',' , '11' , '22' , NULL );
+-------------------------------+
| concat_ws ( ',' , '11' , '22' , NULL ) |
+-------------------------------+
| 11 , 22 |
+-------------------------------+
1 row in set ( 0.00 sec )
1.1 MySQL的concat函数可以连接一个或者多个字符串 , 如
mysql > select concat ( '10' );
+--------------+
| concat ( '10' ) |
+--------------+
| 10 |
+--------------+
1 row in set ( 0.00 sec )
mysql > select concat ( '11' , '22' , '33' );
+------------------------+
| concat ( '11' , '22' , '33' ) |
+------------------------+
| 112233 |
+------------------------+
1 row in set ( 0.00 sec )
而Oracle的concat函数只能连接两个字符串
SQL > select concat ( '11' , '22' ) from dual ;
1.2 MySQL的concat函数在连接字符串的时候,只要其中一个是NULL , 那么将返回NULL
mysql > select concat ( '11' , '22' , null );
+------------------------+
| concat ( '11' , '22' , null ) |
+------------------------+
| NULL |
+------------------------+
1 row in set ( 0.00 sec )
而Oracle的concat函数连接的时候,只要有一个字符串不是NULL , 就不会返回NULL
SQL > select concat ( '11' , NULL ) from dual ;
CONCAT
--
11
2、concat_ws () 函数 , 表示concat with separator , 即有分隔符的字符串连接
如连接后以逗号分隔
mysql > select concat_ws ( ',' , '11' , '22' , '33' );
+-------------------------------+
| concat_ws ( ',' , '11' , '22' , '33' ) |
+-------------------------------+
| 11 , 22 , 33 |
+-------------------------------+
1 row in set ( 0.00 sec )
和concat不同的是 , concat_ws函数在执行的时候 , 不会因为NULL值而返回NULL
mysql > select concat_ws ( ',' , '11' , '22' , NULL );
+-------------------------------+
| concat_ws ( ',' , '11' , '22' , NULL ) |
+-------------------------------+
| 11 , 22 |
+-------------------------------+
1 row in set ( 0.00 sec )