SQL 服务器:日期间隔输出

SQL Server : date Interval output

如何让 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' 

您的存储过程执行了 INSERT 操作。您要求进行 SELECT 操作。

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

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

您可能需要调整日期格式以适应您的区域设置,以及从您实际需要的字段中提取数据的列(我很难想象您正在雇用 7 岁的孩子)。