pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bryce Nesbitt <bryce2@obviously.com>
To: sql pgsql <pgsql-sql@postgresql.org>
Subject: Using || operator to fold multiple columns into one
Date: Wed, 23 Dec 2009 00:34:33 -0800
Message-ID: <4B31D619.1090706@obviously.com> (raw)

Dear experts,

This point is confusing me with the || operator. I've got a table with
"one column per data type", like so:

# \d context_keyvals;
            Table "public.context_keyvals"
   Column    |            Type             | Modifiers
-------------+-----------------------------+-----------
 context_key | integer                     | not null
 keyname     | text                        |
 t_number    | integer                     |
 t_string    | text                        |
 t_boolean   | boolean                     |
 t_date      | timestamp without time zone |
Indexes:
    "context_keyvals_ck" btree (context_key) CLUSTER
Foreign-key constraints:
    "context_keyvals_context_key_fkey" FOREIGN KEY (context_key)
REFERENCES contexts(context_key) ON DELETE CASCADE
# select version()
PostgreSQL 8.3.8 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real
(Debian 4.3.2-1.1) 4.3.2

------------------------------
Just for pretty sake I'd like to be able to use psql to view it like this:

# select context_key,keyname,t_number||t_string||t_date||t_boolean as
value from context_keyvals;

But it is not working, the columns always come up empty.  I can use the
|| operator to concatenate strings:
# select '--'||t_number::text from context_keyvals;

But the moment I try to combine columns, the result is blank.
# select '--'||t_number::text||t_string::text from context_keyvals;

What's up?




view thread (7+ messages)  latest in thread

Message-ID: <4B31D619.1090706@obviously.com>
Permalink:  ../4B31D619.1090706@obviously.com/
Also on:    postgresql.org/message-id/4B31D619.1090706@obviously.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: bryce2@obviously.com
  Subject: Re: Using || operator to fold multiple columns into one
  In-Reply-To: <4B31D619.1090706@obviously.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox