Re: How to build this field - Mailing list pgsql-sql

From Christof Glaser
Subject Re: How to build this field
Date
Msg-id 0103081452400D.12945@pinguin
Whole thread Raw
In response to How to build this field  (juerg.rietmann@pup.ch)
List pgsql-sql
Hi Juerg,

> I need to build an additional field (metakey) out of three fields in
> the table.
>
> SELECT a.a_kurzbez, a.a_ausgabenr, a.a_bundnr, a.a_nr, a.a_z_blaenge,
> a.a_z_laenge, a.a_z_umfang  FROM auftrag a
>
> should be changed to something like
>
> SELECT (a.a_kurzbez + a.a_ausgabenr + a.a_bundnr) as metakey,
> a.a_kurzbez, a.a_ausgabenr, a.a_bundnr, a.a_nr, a.a_z_blaenge,
> a.a_z_laenge, a.a_z_umfang  FROM auftrag a

Try the following:

SELECT a.a_kurzbez || ' ' || a.a_ausgabenr::text || ' ' || a.a_bundnr::text as metakey,... remainder as above

or, if you need that frequently, create a function:

CREATE FUNCTION metakey (text, int4, int4) returns text as 
' SELECT $1 || ' ' || text($2) || ' ' || text($3) '
LANGUAGE 'sql';

|| is the "concatenate text" operator.

Change the param types and cast them as you need.

Hope that helps,

Christof.

> output :
>
> field :   metakey                a_kurzbez           a_ausgabenr
> a_bundnr
>
>      DMD 001 03         DMD                     001
> 03


--          gl.aser . software engineering . internet service      http://gl.aser.de/  . Planckstraße 7 . D-39104
Magdeburg
Tel. +49.391.7 44 77 10 . Fax +49.391.7 44 77 13 . Mobil 0177.77 92 84 3


pgsql-sql by date:

Previous
From: Karel Zak
Date:
Subject: Re: No Documentation for to_char(INTERVAL, mask)
Next
From: Tom Lane
Date:
Subject: Re: Buglet?