Maison  >  Questions et réponses  >  le corps du texte

Comment spécifier la fonction de date dans MySQLWorkBench pour éviter les invites d'erreur ?

J'ai essayé de créer un tableau et voici comment je l'ai configuré :

CREATE TABLE emp_tab
(  
  empno             NUMeric(10),  
  name              VARCHAR(50) NOT NULL,  
  job               VARCHAR(50),  
  manager           NUMeric(10),  
  hiredate          DATE,  
  salary            NUMeric(10,2),  
  commission        NUMeric(10,2),  
  deptno            NUMeric(5),  
  CONSTRAINT pk_emp_tab PRIMARY KEY (empno),  
  CONSTRAINT fk_emp_tab_deptno FOREIGN KEY (deptno) 
  REFERENCES dept_tab(deptno)  
);

Voici comment j'insère les valeurs :

INSERT INTO emp_tab
 VALUES(7004, 'SCOTT', 'ANALYST', 7002,  
 date('87-7-13') - 85,  
 3000, null, 70
);


INSERT INTO emp_tab 
VALUES(7007, 'ADAMS', 'CLERK', 7003,  
 date('87-7-13') - 51,  
 1100, null, 40  
);

Ce qui est étrange, c'est que je ne reçois pas de message d'erreur pour la première valeur insérée, mais je reçois un message d'erreur pour la deuxième valeur insérée, qui indique "Valeur de date incorrecte : la colonne "Date d'embauche" dans la ligne 1 est "19870662". " "), mais ensuite j'ai supprimé le -51 et cela a fonctionné. Cependant, cela m'a donné une mauvaise date, donc je me demandais s'il y avait une chance de conserver le -51 sans l'erreur

?
P粉245003607P粉245003607235 Il y a quelques jours505

répondre à tous(1)je répondrai

  • P粉486743671

    P粉4867436712024-02-27 20:50:28

    Vous devez utiliser des dates correctement formatées et DATE_SUB()

    DATE_SUB(DATE('1987-07-13'), INTERVAL 85 DAY)

    répondre
    0
  • Annulerrépondre