Примеры становятся все меньше, короче и выполняются быстрее. Это я и хочу подчеркнуть. С помощью небольших фрагментов Java-кода, примененных в соответствующих местах, можно существенно расширить функциональные возможности.
В Oracle 9i эта функция станет избыточной, поскольку эта версия поддерживает временные отметки с точностью менее секунды. Но при необходимости такая точность измерения времени достижима и в предыдущих версиях:
tkyte@TKYTE816> create or replace java source 2 named "MyTimestamp" 3 as 4 import java.lang.String; 5 import java.sql.Timestamp; 6 7 public class MyTimestamp 8 { 9 public static String getTimestamp() 10 { 11 return (new 12 Timestamp(System.currentTimeMillis())).toString(); 13 } 14 }; 15 /
Java created.
tkyte@TKYTE816> create or replace function my_timestamp return varchar2 2 as language java 3 name 'MyTimestamp.getTimestamp() return java.lang.String'; 4 /
Function created.
tkyte@TKYTE816> select my_timestamp, 2 to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual 3 /
MY_TIMESTAMP TO_CHAR(SYSDATE,'YY ------------------------- ------------------- 2001-03-27 19:15:59.688 2001-03-27 19:15:59