Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

3.4K
Views
DECLARE no es válido en esta posición, esperando EOF

Soy un novato en SQL y estaba tratando de generar fechas dentro de 2 fechas especificadas previamente por mí. Estaba usando el siguiente código, pero aparece un error en el banco de trabajo de MySQL que indica que 'DECLARAR no es válido en esta posición'... ¿Qué estoy haciendo mal?

 DELIMITER $$ CREATE PROCEDURE proc() BEGIN DECLARE @dates TABLE(dt datetime) DECLARE @dateFrom datetime DECLARE @dateTo datetime SET @dateFrom = '2001/01/01' SET @dateTo = '2001/01/12' WHILE(@dateFrom < @dateTo) BEGIN SELECT @dateFrom = DATEADD(day, 1,@dateFrom) INSERT INTO @dates SELECT @dateFrom END END$$ DELIMITER ;
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

El error de sintaxis se debe a que olvidó el ; después de cada declaración.

Hay otros problemas:

  1. MySQL no tiene variables de tabla. Use una tabla temporal para esto.
  2. No necesita declarar variables de usuario que comiencen con @ . Conviértalas en variables ordinarias.
  3. Para insertar un valor de una variable, use VALUES en lugar de SELECT .
  4. DATEADD no es una función de MySQL. Tiene DATE_ADD , pero la sintaxis es diferente a la que usó.
 DELIMITER $$ CREATE PROCEDURE proc() BEGIN DECLARE dateFrom datetime; DECLARE dateTo datetime; SET dateFrom = '2001-01-01'; SET dateTo = '2001-01-12'; CREATE TEMPORARY TABLE dates ( dt datetime ); WHILE(dateFrom < dateTo) BEGIN SET dateFrom = DATE_ADD(dateFrom, INTERVAL 1 DAY); INSERT INTO dates VALUES (dateFrom); END WHILE; END$$ DELIMITER ;
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!