没有选择列的mysql concat函数

时间:2014-02-01 15:50:28

标签: mysql

我正在阅读MySql手册中的CHAR和VARCHAR数据类型,并且遇到了一段我不理解的代码:

mysql> CREATE TABLE vc (v VARCHAR(4), c CHAR(4));
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO vc VALUES ('ab ', 'ab ');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT CONCAT('(', v, ')'), CONCAT('(', c, ')') FROM vc;
+---------------------+---------------------+
| CONCAT('(', v, ')') | CONCAT('(', c, ')') |
+---------------------+---------------------+
| (ab )               | (ab)                |
+---------------------+---------------------+

CONCAT功能描述非常简单:

  

返回连接参数产生的字符串。

mysql> SELECT CONCAT('My', 'S', 'QL');
        -> 'MySQL'

我仍然没有看到SELECT CONCAT('(', v, ')'), CONCAT('(', c, ')') FROM vc;如何导致上面的输出表。从我能看到的内容中没有选择列。

1 个答案:

答案 0 :(得分:2)

在concat中,任何参数都可以是字符串OR列名。所以:

SELECT CONCAT('(', v, ')'), CONCAT('(', c, ')') FROM vc;

使用列v和列c值来创建字符串。