A partir da versão 2.1 do Firebird a função EXTRACT() passou a suportar o elemento MILLISECOND, permitindo assim a extração dos milisegundos de um dado do tipo TIME ou TIMESTAMP, conforme mostra o exemplo a seguir.
SELECT EXTRACT(HOUR FROM CURRENT_TIME) AS Horas, EXTRACT(MINUTE FROM CURRENT_TIME) AS Minutos, EXTRACT(SECOND FROM CURRENT_TIME) AS Segundos, EXTRACT(MILLISECOND FROM CURRENT_TIME(3)) AS Milisegundos FROM RDB$DATABASE
Este outro exemplo também pode ser usado para mostrar basicamente os mesmos dados do exemplo anterior.
SELECT CAST(CURRENT_TIME(3) AS VARCHAR(13)) FROM RDB$DATABASE
Note que para obter a parte correspondente aos milisegundos foi necessário informar a precisão na função CURRENT_TIME(), que pode ser 0, 1, 2 ou 3.
O conteúdo desta página pode ajudar alguém? Compartilhe!