You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL查询语句中为查询结果添加指定字符串?

嘿,我来帮你搞定这个给SQL查询结果加自定义字符串的问题!其实核心就是用字符串拼接的方法,不同数据库的语法略有区别,我给你举几个常见场景的例子,你可以对照自己的情况来改:

解决方案:用字符串拼接实现自定义输出

根据你使用的数据库类型,选择对应的拼接方式就好:

1. MySQL / MariaDB 场景

假设你的原查询是这样的:

SELECT product_name, price FROM products WHERE category = 'electronics';

当前返回的是纯字段值:

product_nameprice
手机3999
笔记本电脑8999

要是你期望输出变成 商品:手机,售价:3999元 这种带描述的格式,直接用CONCAT()函数拼接就行:

SELECT CONCAT('商品:', product_name, ',售价:', price, '元') AS product_info
FROM products 
WHERE category = 'electronics';

执行后就能得到你想要的带自定义字符串的结果啦。

2. PostgreSQL 场景

PostgreSQL支持两种拼接方式,用||操作符或者CONCAT()函数都可以,用法很直观:
比如你想把用户ID和姓名组合成 用户ID:123,姓名:李四 的格式,用||的写法是:

SELECT '用户ID:' || user_id || ',姓名:' || username AS user_info
FROM users
WHERE user_id = 123;

用CONCAT()的话和MySQL语法几乎一样,写起来更简洁:

SELECT CONCAT('用户ID:', user_id, ',姓名:', username) AS user_info
FROM users
WHERE user_id = 123;

3. SQL Server 场景

SQL Server可以用+操作符或者CONCAT()函数,这里要注意类型转换的问题:
比如原查询返回数字类型的订单号,你想给它加前缀变成 订单编号:ORD-1001,用+的话需要把数字转成字符串:

SELECT '订单编号:ORD-' + CAST(order_id AS VARCHAR) AS order_info
FROM orders
WHERE status = 'completed';

要是用CONCAT()就省心多了,它会自动处理类型转换,不用手动转:

SELECT CONCAT('订单编号:ORD-', order_id) AS order_info
FROM orders
WHERE status = 'completed';

小提醒

如果你的字段可能存在NULL值,优先用CONCAT()函数哦——它会自动忽略NULL,不会让整个拼接结果变成NULL;而用||或者+的话,只要有一个字段是NULL,整个结果就会变成NULL,这点要注意!

内容的提问来源于stack exchange,提问作者Kurt Morrison

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:12:43