Obecnie używam MyTimeStampField-TRUNC(MyTimeStampField)
, aby wyodrębnić część czasu z kolumny sygnatury czasowej w Oracle.Wyodrębnij część czasu z kolumny TimeStamp w ORACLE
SELECT CURRENT_TIMESTAMP-TRUNC(CURRENT_TIMESTAMP) FROM DUAL
zwraca Ten
+00 13: 12: 07,100729
Działa to dla mnie OK, aby wyodrębnić część czasu z pola datownika, ale zastanawiam się, czy istnieje lepszy sposób (może być za pomocą wbudowanej funkcji ORACLE), aby to zrobić?
jeśli użyć funkcji extract, należy napisał coś takiego 'SELECT EXTRACT (godzina z CURRENT_TIMESTAMP) || ":" || EKSTRAKT (MINUTE OD CURRENT_TIMESTAMP) || ": '|| EXTRACT (SECOND FUR CURRENT_TIMESTAMP) OD DUAL;' jest to bardziej efektywne, z której metody faktycznie korzystam? – RRUZ
@RRUZ może również dodać wiodące zera, jeśli timepart ma tylko jedną cyfrę: WYBIERZ LPAD (EKSTRAKT (HOUR FROM CURRENT_TIMESTAMP), 2, '0') || ":" || LPAD (EKSTRAKT (MINUTE OD CURRENT_TIMESTAMP), 2, '0') || ":" || LPAD (EXTRACT (SECOND FUR CURRENT_TIMESTAMP), 2, '0') FROM DUAL; –