IBM Informix Guide to SQL: Syntax
O operador SYSDATE retorna o valor DATETIME atual do relógio do sistema. SYSDATE é idêntico ao operador CURRENT, exceto que a precisão padrão SYSDATE é YEAR TO FRACTION(5), enquanto que a precisão padrão do CURRENT é YEAR TO FRACTION(3).
Em plataformas Windows® que não suportam uma escala de segundo maior que FRACTION(3), SYSDATE é na verdade um sinônimo para o operador CURRENT.
Você pode usar SYSDATE em qualquer contexto em que o operador CURRENT é válido.
As instruções SQL no exemplo a seguir usa o operador SYSDATE para especificar os valores padrão de duas colunas DATETIME de uma tabela do banco de dados, e para inserir uma nova linha na tabela:
CREATE TABLE tab1 (
id SERIAL,
value CHAR(20),
time1 DATETIME YEAR TO FRACTION(5) DEFAULT SYSDATE,
time2 DATETIME YEAR TO SECOND DEFAULT SYSDATE YEAR TO SECOND
);
INSERT INTO tab1 VALUES (0, 'description', SYSDATE, SYSDATE);
A consulta a seguir acessa a tabela que foi criada no exemplo acima:
SELECT SYSDATE AS sysdate, * FROM tab1;
Os resultados são sensíveis à data e hora quando as declarações INSERT e o SELECT são emitidos, mas a consulta pode retornar esses valores em 23 de setembro de 2007:
sysdate 2007-09-23 21:30:23.00000
id 1
value description
time1 2007-09-23 21:29:27.00000
time2 2007-09-23 21:29:27
A próxima consulta acessa a mesma tabela, usando SYSDATE na cláusula WHERE como um argumento para a função DAY:
SELECT *, DAY(time1) AS day FROM tab1
WHERE DAY(time1) = DAY(SYSDATE);
A consulta retorna o seguinte valor:
id 1
value description
time1 2007-09-23 21:29:27.00000
time2 2007-09-23 21:29:27
day 23
Somente o Informix Dynamic Server suporta o SYSDATE. Exceto por seu nome e sua precisão, o Operador CURRENT também descreve o Operador SYSDATE.
Nenhum comentário:
Postar um comentário