Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да конвертирам това от TSQL в MYSQL?

От документацията:DECLARE is permitted only inside a BEGIN ... END compound statement and must be at its start, before any other statements.

Актуализиране

Ето нещо по-близо. Ще трябва да подредите синтаксиса за CONVERT което е различно в MySQL.

DELIMITER $$
CREATE PROCEDURE test()
BEGIN
    DECLARE dateInsert DATETIME;
     SET dateInsert = '1900-01-01';
     WHILE dateInsert < '2100-01-01' DO
        BEGIN
             INSERT INTO DateLookup
             (
                 DateKey, DateFull, FullYear,
                 QuarterNumber, WeekNumber, WeekDayName,
                 MonthDay, MonthName, YearDay,
                 DateDefinition,
                        CharacterDate,
                        WeekDay,
                        MonthNumber
             )

             SELECT
                 CONVERT(VARCHAR(8), dateInsert, 112), dateInsert, YEAR(@Date),
                 DATEPART(qq, dateInsert), DATEPART(ww, dateInsert), DATENAME(dw, dateInsert),
                 DATEPART(dd, dateInsert), DATENAME(mm, dateInsert), DATEPART(dy,@Date),
                       DATENAME(mm, dateInsert) + ' ' + CAST(DATEPART(dd, dateInsert) AS CHAR(2)) + ',   
                   ' + CAST(DATEPART(yy, dateInsert) AS CHAR(4)),
                   CONVERT(VARCHAR(10), dateInsert, 101),
                   DATEPART(dw, dateInsert),
                   DATEPART(mm, dateInsert)

             SET dateInsert = DATEADD(dd, 1, dateInsert)
        END
     END WHILE;
END $$


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Импортирайте MySQL база данни в MS SQL Server

  2. PHP - Грешка с отказан достъп до MySQL - Работи в други програми

  3. как да върнете избран mysql като масив от масиви в json с помощта на php

  4. Възстановяване на SQL от множество SQL файлове

  5. mysql_fetch_array връща само един ред