在 OceanBase 数据库 MySQL 模式下,字符串连接函数包括 CONCAT() 和 CONCAT_WS() 等。 '||' 默认是表示逻辑运算符"或",在指定 sql_mode 下,'||' 也可以当作字符串连接符使用。
本文通过具体示例介绍如何在查询中使用字符串连接符。
示例 1:查看示例表 cust 的客户姓名
在 OceanBase 数据库 MySQL 模式下的 SQL 语句示例如下:
/*创建示例表并录入合适的数据*/
obclient> CREATE TABLE cust (
c_id INTEGER,
c_first VARCHAR(20),
c_last VARCHAR(20),
c_credit DECIMAL(10, 2)
);
Query OK, 0 rows affected
obclient> INSERT INTO cust VALUES(101,'Ann','Smith',16.10);
1 row affected
obclient> INSERT INTO cust VALUES(102,'Madeleine','Johnson',23.00);
1 row affected
obclient> INSERT INTO cust VALUES(103,'Michael','Brown',9.05);
1 row affected
obclient> SELECT CONCAT_WS(' ', c_first, c_last) full_name FROM cust ORDER BY c_last LIMIT 2;
+-------------------+
| full_name |
+-------------------+
| Michael Brown |
| Madeleine Johnson |
+-------------------+
2 rows in set
示例 2:"||"作为字符串连接符
如果把 MySQL 模式下的变量 sql_mode 值增加一个选项 PIPES_AS_CONCAT ,则 '||' 也会当作字符串连接符。SQL 语句示例如下:
obclient> SET SESSION sql_mode='PIPES_AS_CONCAT,STRICT_TRANS_TABLES,STRICT_ALL_TABLES';
Query OK, 0 rows affected
obclient> SELECT c_first || ' ' || c_last full_name FROM cust ORDER BY c_last LIMIT 2;
+-------------------+
| full_name |
+-------------------+
| Michael Brown |
| Madeleine Johnson |
+-------------------+
2 rows in set「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




