English 中文(简体)
How to join attributes in sql select statement?
原标题:

I want to join few attributes in select statement as one for example

select id, (name +     + surname +     + age) as info from users

this doesn t work, how to do it? I m using postgreSQL.

最佳回答

Postgres uses || to concatenate strings; your query needs to be:

select id, (name ||     || surname ||     || age) as info from users

It should be the key just above the Enter key on a full keyboard, but on mine it s not a sold line - there s a break in the middle of it. You have to hold the Shift key to get the character (called a pipe, btw).

问题回答

I believe the ANSI standard concatenation operator is: ||

SELECT id, name ||    || surname ||     || age  AS info FROM users

It perfectly might be dependent of the database I would take a look for a concatenation function for the database you are running the select for.

Example. Mysql: CONCAT(name, surname, age).

You may need to cast the fields to a common type before concatenating. In T-SQL for example this would read.

Select id, Cast(name as varchar(50)) +     + Cast(surname as varchar(50)) +     + 
     Cast(age as varchar(3)) As info From Users

|| is used for this purpose.

Use it like select name || ||surname || ||age as info from users

If you re using mysql or oracle then try CONCAT function:

SELECT id, CONCAT(name,    , surname,    , age) as info FROM users

That should work as is, but in general it is better not to do too much concatenation sql side if you can help it; rather return all the columns and concat them on the other end.

What are the data types you are using? You may need to CAST / CONVERT into (n)varchar

Make sure your data types are similar and convert any datatypes to string as necessary:

select id, (name +     + surname +     + convert(varchar(3),age)) as info from users

Works fine in most databases I know, although you probably have to CAST the age field to be TEXT. The exact method for doing this depends on the database you re using, which you did not specify.





相关问题
摘录数据

我如何将Excel板的数据输入我的Django应用? I m将PosgreSQL数据库作为数据库。

Postgres dump of only parts of tables for a dev snapshot

On production our database is a few hundred gigabytes in size. For development and testing, we need to create snapshots of this database that are functionally equivalent, but which are only 10 or 20 ...

How to join attributes in sql select statement?

I want to join few attributes in select statement as one for example select id, (name + + surname + + age) as info from users this doesn t work, how to do it? I m using postgreSQL.

What text encoding to use?

I need to setup my PostgreSQL DB s text encoding to handle non-American English characters that you d find showing up in languages such as German, Spanish, and French. What character encoding should ...

SQL LIKE condition to check for integer?

I am using a set of SQL LIKE conditions to go through the alphabet and list all items beginning with the appropriate letter, e.g. to get all books where the title starts with the letter "A": SELECT * ...

热门标签