如何在sql select语句中加入属性?

时间:2009-11-12 17:16:55

标签: sql postgresql

我想在select语句中加入一些属性,例如

select id, (name + ' ' + surname + ' ' + age) as info from users
这不行,怎么办? 我正在使用postgreSQL。

9 个答案:

答案 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。执行此操作的确切方法取决于您正在使用的数据库,您没有指定。