代码之家  ›  专栏  ›  技术社区  ›  user7772660

SQL Server:日期间隔输出

  •  0
  • user7772660  · 技术社区  · 7 年前

    如何让T-SQL显示2001年到2010年间的所有信息?这是一个过程:

    CREATE PROCEDURE proc_neue_mitarbeiter_004
        @Personalnummer varchar(10),
        @Name varchar(30),
        @Vorname varchar(30),
        @Geburtsdatum date,
        @Telefon varchar(30),
        @Mobil varchar(30),
        @Email varchar(50),
        @Raum varchar(10),
        @Ist_Leiter char(1),  
        @AbtBezeichnung varchar(30), -- hier wird dann kein Abteilungs Nummer geschrieben, sonst ein Namen von Abteilung die unter Nummer in die Tabelle "Abteilung" steht
        @steuerklasse tinyint
    AS
    BEGIN
        DECLARE @Abteilung_ID AS INT
        SET @Abteilung_ID = (SELECT id 
                             FROM Abteilung 
                             WHERE Bezeichnung = @AbtBezeichnung) -- lokale Variable (interne)
    
        INSERT INTO Mitarbeiter(Personalnummer, Name, Vorname, Geburtsdatum, 
                                Telefon, Mobil, Email, Raum, Ist_Leiter, 
                                Abteilung_ID, steuerklasse) 
        VALUES (@Personalnummer, @Name, @Vorname, @Geburtsdatum,
                @Telefon, @Mobil, @Email, @Raum, @Ist_Leiter,
                @Abteilung_ID, @steuerklasse) -- lokale Variable als ausgangspunkt
    
        -- Man kann auch mit subselect (select spalte from table) aus anderen tabellen die werte nehmen
    END
    GO
    
    EXEC proc_neue_mitarbeiter_004 '200001', 'Stark', 'Tony', '01.01.2001',
                                   null, null, null, null, 'Y',
                                   'Vertrieb', '1' 
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   SchmitzIT    7 年前

    存储过程执行插入操作。您要求的是选择性操作。

    这也不完全是您想要使用哪个字段来提取2001年到2010年之间的数据。然而,您的查询很可能看起来像这样:

    SELECT 
        * 
    FROM 
        Mitarbeiter 
    WHERE 
        Geburtsdatum BETWEEN '2001-01-01' AND '2010-12-31'.