双竖线(||)运算符在SQL中用于连接两列或表达式。语法为:
SELECT col1 || col2 FROM table;
单字符连接
双竖线拼接最常见的用法是连接字符串字段。例如,将两个姓名字段连接为全名:
SELECT first_name || ' ' || last_name FROM users;
数字连接
双竖线也可以连接数字字段。但是,拼接后结果将是一个字符串:
SELECT age || ' years old' FROM people;
数据类型转换
连接数字和字符串需要将数字转换为字符串:
SELECT CAST(age AS TEXT) || ' years old' FROM people;
空值处理
如果字段为空,双竖线拼接会返回NULL。可以使用COALESCE或IFNULL函数处理空值:
SELECT COALESCE(first_name, '') || ' ' || COALESCE(last_name, '');
连接多个字段
双竖线可以连接多个字段:
SELECT name || ' from ' || city || ', ' || country FROM users;
性能注意事项
使用双竖线拼接会影响性能,特别是连接大量数据时。如果不需要字符串连接,请使用其他 (如CONCAT函数)。
其他用法
双竖线还可用于以下用途:
- 分组结果(GROUP BY col1 || col2)
- 排序结果(ORDER BY col1 || col2)
- 创建计算列(SELECT id || '-' || name AS full_name)