2017-10-13 6 views
1

私はintegerとして渡された数字を持っていて、それをtimeに変換したい時にこの数字を使用したいと思います。PostgreSQLの時定数をキャストする

私は数を分として使用するための解決策を見つけましたが、私はPostgreSQLの構文に慣れていません。結果は次のようになり

select CAST(to_char(czas, 'FM99909:99') AS TIME WITHOUT 
TIME ZONE)::TIME from test 

00:15:00 

しかし、私はそれを作るための方法を探しています:

15:00:00 

私が取り組んできたものをここで行うにはわかりませんMS SQLがかなりの間、私はPostgreSQLの構文がどれほど複雑であるかに驚いています。

+0

新しい地形は常に最初に、より複雑なようです。あなたがいくつかの経験を集めるまで待ってください。 –

答えて

2

test.czasの列が時間を意味すると思われる場合は、はるかに簡単な方法があります。それにinterval'1 hour'を掛け:

SELECT (interval '01:00' * czas)::time FROM test; 

は正確にあなたの希望する結果を生成します。小数点以下の桁でも動作します。

'01:00'および'1 hour'は、interval literalsと同等です。
値が24より大きい場合は、残りの部分が得られます(終日は切り捨てられます)。czas%24を使用する場合と同様です。

関連:

関連する問題