我正在阅读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;
如何导致上面的输出表。从我能看到的内容中没有选择列。
答案 0 :(得分:2)
在concat中,任何参数都可以是字符串OR列名。所以:
SELECT CONCAT('(', v, ')'), CONCAT('(', c, ')') FROM vc;
使用列v
和列c
值来创建字符串。