我们经常在使用mysql多字段查询时希望把两个或更多的字符串连接起来查询或输出,昨天搜索到了一个字符串连接,concat()即可实现了,下面我来分享一下解决办法.
CONCAT(str1,str2,…),返回结果为连接参数产生的字符串,如有任何一个参数为NULL ,则返回值为 NULL.
例如:SELECT CONCAT(CAST(int_col AS CHAR),char_col)
Mysql查询日期和时间,代码如下:
- mysql> select concat(CURDATE() , ' ' ,CURTIME());
- +
- | concat(CURDATE() , ' ' ,CURTIME()) |
- +
- | 2013-04-26 14:21:05 |
- +
- 1 row in set (0.00 sec)
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)
CONCAT_WS() 代表 CONCAT With Separator,是CONCAT()的特殊形式,第一个参数是其它参数的分隔符,分隔符的位置放在要连接的两个字符串之间,分隔符可以是一个字符串,也可以是其它参数,如果分隔符为 NULL,则结果为 NULL,函数会忽略任何分隔符参数后的 NULL 值,代码如下:
- mysql> SELECT CONCAT_WS(’,',’First name’,'Second name’,'Last Name’);
-
- -> ‘First name,Second name,Last Name’
-
- mysql> SELECT CONCAT_WS(’,',’First name’,NULL,’Last Name’);
-
- -> ‘First name,Last Name’
mysql CONCAT_WS()不会忽略任何空字符串,然而会忽略所有的 NULL. |