2017-07-12 10 views
0

T-SQLを使用して、2001年と2010年のすべての情報を表示する方法を教えてください。プロシージャです:SQL Server:date間隔出力

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' 
+0

ありがとうmarc_s =) – eXme

答えて

0

ストアドプロシージャはINSERT操作を実行します。あなたはSELECT操作を求めています。

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

はあなたが日付の書式設定を調整する必要がある場合があります:

それはあなたのクエリは、最も可能性の高い次のようになり、完全にあなたはしかし、2001年から2010年の間でデータを抽出するために使用したいものをフィールドもありませんあなたの地域の設定に合わせて、実際に必要なフィールドからデータを引き出す列(私はあなたが7歳の子供を雇っていると想像していません)。

+0

ありがとうございますSchmitz – eXme

+0

あなたは歓迎です:) – SchmitzIT