2010-09-16 7 views

risposta

6

Se è necessario l'ora esatta da un timestamp, appena lanciato in tanto:

SELECT 
    CAST(colname AS time) 
FROM 
    tablename; 

Se avete bisogno di formattazione, to_char () è la tua migliore opzione.

+0

Questa è l'unica risposta corretta, volevo che l'ora fosse digitata come un tempo e non come un testo –

+0

@GhislainLeveque: OR, ancora più semplice:' colname :: time' –

5

Dipende dal formato che si desidera naturalmente.

Invece di utilizzare date_part potrebbe essere più semplice utilizzare to_char. http://www.postgresql.org/docs/8.4/interactive/functions-formatting.html#FUNCTIONS-FORMATTING-DATETIME-TABLE

Quindi nel tuo caso, forse qualcosa di simile:

to_char(current_timestamp, 'HH:MI:SS') 
+1

Per avvicinarsi al risultato richiesto: 'to_char (current_timestamp, 'HH" ore "MI" minuti "SS" seconds "')' – DrColossos

+0

questa risposta non fa la stessa cosa che volevo fare: non lo faccio voglio ottenere una risposta "testuale" ma una risposta "tempo" (sto parlando del tipo di risultato). La risposta corretta era quella che ho controllato. Grazie comunque –

+0

@Ghislain Leveque: ah, ho frainteso. Una soluzione alternativa in questo caso è 'SELECT colname :: time' – Wolph

Problemi correlati