2

PostgreSQL データベースで 3 つの列のデータを 1 つの列に連結するために使用されるコマンドを教えてください。

例えば

列が

begin | Month | Year
   12 |     1 | 1988
   13 |     3 | 1900
   14 |     4 | 2000
   15 |     5 | 2012

のような結果

Begin
12-1-1988 
13-3-1900
14-4-2000
15-5-2012
4

3 に答える 3

10

連結演算子を使用するだけ||です:http://www.sqlfiddle.com/#!1/d66bb/2

select begin || '-' || month || '-' || year as begin 
from t;

出力:

|     BEGIN |
-------------
| 12-1-1988 |
| 13-3-1900 |
| 14-4-2000 |
| 15-5-2012 |

開始列自体を変更する場合は、開始列を最初に文字列型にする必要があります。次に、次のようにします: http://www.sqlfiddle.com/#!1/13210/2

update t set begin = begin || '-' || month || '-' || year ;

出力:

|     BEGIN |
-------------
| 12-1-1988 |
| 13-3-1900 |
| 14-4-2000 |
| 15-5-2012 |

アップデート

これについて:

but m not getting null value column date

これを使って:

select (begin || '-' || month || '-' || year)::date as begin 
from t
于 2012-07-13T05:37:21.093 に答える
2

9.4を見てください。文字列関数と演算子

于 2012-07-13T04:32:27.867 に答える