プロが教えるわが家の防犯対策術!

文字列を time 型に変換するには。

お世話になります。
PostgreSQL 8.2 & PgAdmin 1.6.3(WinServer 2003)を使用しています。
varchar 型のカラムに格納されている時刻を表す文字列('9:15' など)を time 型に変換してビューを作成する必要があるのですが、できずに困っています。

具体的には...

「table1」というテーブルに「時刻」(varchar 型)という名前のカラムを作成し、「9:15」という文字列を格納しておきます。

これをもとにビュー(view1)を作ろうとしているのですが、select 文のところで
、ERROR: syntax error at or near "時刻" SQLステート:42601 というエラー(構文エラー)が出てしまいます。

 select time 時刻 from table1
 結果:ERROR: syntax error at or near "時刻" SQLステート:42601


ちなみに、時刻を文字列で指定してやると、ちゃんと time 型で結果が返ります。

 select time '9:15'
 結果:09:15:00

抜本的に方法が間違っているとはおもうのですが、いくら調べてもこれを解決できるようなサイトが見当たりませんでした。

文字列を time 型に変換するにはどのようにしたらよいのかご教示いただけないでしょうか。
よろしくお願いします。

A 回答 (3件)

「time 定数」で「指定した定数をtime型と認識してね」という構文であり、「time 列名」という構文はありません。



標準SQL準拠の書き方であれば、

CAST(列名 AS TIME) [AS 別名]

PostgreSQL独自の書き方であれば、

列名::time

といった書き方もあります。
    • good
    • 0
この回答へのお礼

CAST(列名 AS TIME) [AS 別名]
列名::time
いずれの方法でもうまくできました。
どうもありがとうございました。

お礼日時:2010/05/12 19:50

CAST関数ではできませんか?

    • good
    • 0
この回答へのお礼

CAST関数でできました。どうもありがとうございました。

お礼日時:2010/05/12 19:49
    • good
    • 0
この回答へのお礼

どうもありがとうございました。

お礼日時:2010/05/12 19:51

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

このQ&Aを見た人はこんなQ&Aも見ています

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