2016-09-11 3 views
-3

Meine Frage ist, wenn ich 21 eine Spalte mit Standard hinzufügen kann, erste 2 Zahlen können 00-99 Die nächsten zwei Zahlen werden immer 21 sein und die letzten Zahlen können sein 0000-9999SQL, ich brauche eine Reihe machen xx21xxxx

Zum Beispiel, wenn im Eingang in der Universität im Jahr 16 ther fisrt 2 numers sind 16

die nächste 2 Nummer wird 21

sein die letzten 4 Zahlen in 0000 iniciate

Das Ergebnis ist 16 21 0000 Wenn ich andere hinzufügen, 16 21 0001.

+1

Frage ist nicht klar. Machen Sie sich mit einem Beispiel vertraut, das die Beispieleingabe und das erwartete Ergebnis zeigt. –

+0

Markieren Sie auch das von Ihnen verwendete 'RDBMS' –

Antwort

1

Sie berechnete Spalte verwenden können, um das Ergebnis

CREATE TABLE yourtable 
    ( 
    id INT IDENTITY(0, 1), 
    result_column AS RIGHT(Year(Getdate()), 2) + ' 21 ' 
     + RIGHT('000'+Cast(id AS VARCHAR(20)), 4) persisted, 
    NAME VARCHAR(50) 
) 

INSERT INTO yourtable 
      (NAME) 
VALUES  ('prdp'), 
      ('prdp1') 

SELECT * 
FROM yourtable 

Ergebnis zu generieren:

id result_column name 
-- ------------- ----- 
0 16 21 0000  prdp 
1 16 21 0001  prdp1 

Hinweis : Auch nach ID = 9999 erzeugt der result_column nur die letzten 4 Zeichen aus ID