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. SQL इंजेक्शन ठीक से काम नहीं कर रहा है

  2. Centos 7 . पर Percona टूलकिट स्थापित और उपयोग करें

  3. सभी टेबल से पंक्तियों का चयन करने के आसान तरीके

  4. MySQL डेटाबेस से कई फ़ील्ड डुप्लीकेट चुनें

  5. पूर्ण कैलेंडर ईवेंट MySQL के लिए विधि पोस्ट करें