質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

454閲覧

テーブルのデータを改造してカラムを追加したい

taro9292

総合スコア26

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2020/05/27 10:09

dateカラムがあります。(型はtextです)
これを分解して、date型にし、残りの部分を新しく追加するカラムに格納したいと思っておりますが
どうすればいいのかわかりません。
教えていただけると幸いです。
よろしくお願いします。

例 20191201_A1 ⇒ 2019-12-01 A1

元のテーブル
| date(text型) |
|20191201_A1|
|20191202_A2|

改造後
|date|文字|
|2019-12-01|A1|
|2019-12-02|A2|

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/05/27 19:11

ご自身が調べたこと、試したことを記載してください。 まず思ってみたようにやってみることで見えてくることもあるかと思います。 それに、要件今一つ分かってないですが、カラムを追加したいということですか?SELECT時にそのように取得したいということではないんですね?
guest

回答1

0

ベストアンサー

1.テーブルにカラムを追加します。

SQL

1alter table テーブル名 add column 追加カラム名 text

2.元のカラムの内容を日付書式に変更し、追加したカラムに値を設定します。
※文字をアンダースコア(_)で配列に分解して、1番目と2番目をそれぞれ編集します。

SQL

1update テーブル名 set 2 元のカラム名=to_char((string_to_array(元のカラム名,'_'))[1]::integer, '0000-00-00') 3, 追加カラム名=(string_to_array(元のカラム名,'_'))[2]

3.元のカラムの属性を日付型に変更します。
※2での編集の代わりにusing句でも可。

SQL

1alter table テーブル名 alter column 元のカラム名 type date

データのバックアップを取って、失敗しても元に戻せるようにしてから実行して下さい。

投稿2020/05/28 08:31

編集2020/05/28 08:33
sazi

総合スコア25327

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taro9292

2020/05/29 01:39

本当にありがとうございます。見事にできるようになりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問