2016-03-31 7 views
4
CREATE TABLE PaperTable 
(
    PaperID int IDENTITY (1,1) NOT NULL 
, PageNumber varchar(100) 
    , PaperAlphaID AS Cast(Right(Year(getDate()),2) as varchar(2)) +'-'+ PageNumber 
); 

Ergebnis bekam ich, als ich "001" und "002" in wie meine Papiernummer hinzugefügt:Computed Column Specification

PaperID PageNumber PaperAlphaID 
------- ---------- ------------ 
    1   001   15-001 
    2   002   15-002 

Aber ich will in PaperAlphaID

ganze Jahr anzuzeigen
PaperID PageNumber PaperAlphaID 
------- ---------- ------------ 
    1   001   2015-001 
    2   002   2015-002 

Anstelle von 15-001 und 15-002

Antwort

3

Entfernen Sie die RIGHT-Funktion und aktualisieren Sie varchar(4)

CREATE TABLE PaperTable 
(
    PaperID int IDENTITY (1,1) NOT NULL 
    , PageNumber varchar(100) 
    , PaperAlphaID AS Cast(Year(getDate())) as varchar(4)) +'-'+ PageNumber 
);