我想在select语句中加入一些属性,例如
select id, (name + ' ' + surname + ' ' + age) as info from users
这不行,怎么办?
我正在使用postgreSQL。
答案 0 :(得分:4)
Postgres使用||
到concatenate strings;您的查询需要是:
select id, (name || ' ' || surname || ' ' || age) as info from users
它应该是全键盘上Enter键上方的键,但在我的上面它不是卖线 - 中间有一个中断。您必须按住Shift键才能获得角色(称为管道,顺便说一句)。
答案 1 :(得分:3)
我认为ANSI标准连接运算符是:||
SELECT id, name ||' ' || surname || ' ' || age AS info FROM users
答案 2 :(得分:2)
如果您使用 mysql 或 oracle ,请尝试CONCAT
功能:
SELECT id, CONCAT(name, ' ', surname, ' ', age) as info FROM users
答案 3 :(得分:2)
它完全可能依赖于数据库我会查看运行select for的数据库的连接函数。
实施例。 Mysql:CONCAT(姓名,年龄)。
答案 4 :(得分:2)
在连接之前,您可能需要将字段转换为通用类型。例如,在T-SQL中,这将读取。
Select id, Cast(name as varchar(50)) + ' ' + Cast(surname as varchar(50)) + ' ' +
Cast(age as varchar(3)) As info From Users
答案 5 :(得分:2)
||用于此目的。
使用它 选择名称||' '|| surname ||' '|| age作为用户信息
答案 6 :(得分:1)
这应该按原样运行,但一般情况下,如果你可以帮助它,最好不要做太多连接sql端;而是返回所有列并在另一端连接它们。
您使用的数据类型是什么?您可能需要CAST
/ CONVERT
进入(n)varchar
答案 7 :(得分:1)
确保您的数据类型相似,并根据需要将任何数据类型转换为字符串:
select id, (name + ' ' + surname + ' ' + convert(varchar(3),age)) as info from users
答案 8 :(得分:1)
在我知道的大多数数据库中工作正常,尽管您可能必须将年龄字段CAST为TEXT。执行此操作的确切方法取决于您正在使用的数据库,您没有指定。