アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のようなカラムをもつテーブルがあるとして、

ID, DATE
0001, 2006-12-07 00:00:00
00011, 2006-12-07 11:11:11

IDとDATEを整形して、次のような値をSELECT文で表示したいのですが、どのように指定すればよいでしょうか。

2006120700000000001
2006120711111100011

DATEは、-、スペース、:を削除し、IDは5桁として連結する。IDが4桁であれば先頭に0詰めする。

A 回答 (4件)

select to_char(DATE,'YYYYMMDDHH24MISS') || to_char(ID,'00000') from テーブル名;


でできないでしょうか。今手元にOracleの環境がないので試していませんが。

この回答への補足

さっそくの回答ありがとうございます。
試したところ、以下のように表示されています。

20061207000000 00001
20061207111111 00011

できれば、DATEとIDにスペースを空けたくないのですが。。。

補足日時:2006/12/07 21:07
    • good
    • 0

trimしなくても、to_char(ID,'fm00000')でOK。

    • good
    • 0

TO_CHARでフォーマットを指定すると先頭に半角空白が入ってしまいます。



なので、
SELECT TO_CHAR(DATE,'YYYYMMDDHH24MISS') || TRIM(TO_CHAR(ID, '00000')) FROM テーブル
とすれば良いでしょう。
    • good
    • 0

No.1です。

||で連結したときに空白が挿入されたかなあ。
うろ覚えで申し訳ないです。下のようにしたらどうなりますか?
select concat(to_char(DATE,'YYYYMMDDHH24MISS'),to_char(ID,'00000')) from テーブル名;
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す