web-dev-qa-db-fra.com

DB2 - L'insertion d'une opération d'horodatage entraîne un champ d'horodatage

J'ai reçu un code de Dojo JavaScript assembler une requête des variables JSON et j'ai essayé d'insérer un horodatage dedans.

Ceci est ma table de test (schema.mdummy):

  • k et v sont varcharars
  • n est un entier
  • t est un horodatage

J'ai découvert ces déclarations fonctionnent bien:

INSERT INTO mschema.MDUMMY (k, v) 
VALUES ((SELECT k FROM mschema.MDUMMY WHERE k LIKE 'xp3'), '33');

SELECT TIMESTAMP('1965-07-27', '15:30:00') + 59 SECONDS FROM SYSIBM.SYSDUMMY1;

Mais celui-ci ne fonctionne pas comme prévu.

INSERT INTO mschema.MDUMMY (k, n, t) VALUES ( 
 '70', 
 70, 
 (SELECT TIMESTAMP('1965-07-27-15.30.00') + 59 SECONDS FROM SYSIBM.SYSDUMMY1) 
);

Est-ce une erreur sur la syntaxe ou est-elle impossible à effectuer dans db2?

DB Server OS est le dernier serveur Fedora.

1
rtrigo

La séquence des déclarations suivantes a fonctionné bien en DB2 (pour LUW)

create table mschema.MDUMMY (k varchar(10), n int, t timestamp)

INSERT INTO mschema.MDUMMY (k, n, t) VALUES (   '70',   70,   (SELECT
TIMESTAMP('1965-07-27-15.30.00') + 59 SECONDS FROM SYSIBM.SYSDUMMY1) 
);

SELECT * FROM mschema.MDUMMY

Je viens de copier la deuxième déclaration de votre question. Cela signifie que vous avez fait une autre erreur qui l'exécute ou que vous ne l'exécutez peut-être pas sur DB2 LUW - c'est pourquoi il est toujours utile de spécifier le système d'exploitation.

1