Dynamische velden in SQL Server

Hoe creëer je dynamische velden in een SQL Server-tabel? Ik zou dit graag willen toevoegen aan de opdracht create table:

isDeleted = CASE WHEN DeleteDate is null THEN 0 ELSE 1
2
Microsoft SQL Server 2008
toegevoegd de auteur Phillip Senn, de bron
Nee ik wil het in de tafel zelf.
toegevoegd de auteur Phillip Senn, de bron
Misschien een weergave gebruiken?
toegevoegd de auteur Mike Christensen, de bron

2 antwoord

U wilt een berekende kolom maken.

CREATE TABLE dbo.YourTable (
    ...
    isDeleted AS CASE WHEN DeleteDate IS NULL THEN 0 ELSE 1 END 
);
5
toegevoegd
Ah ja! Dat is het!
toegevoegd de auteur Phillip Senn, de bron
isClubDeleted ALS CASE WANNEER ClubDelDate null is DAN 0 ELKE 1 geeft me een foutmelding.
toegevoegd de auteur Phillip Senn, de bron
Begrepen. Bedankt!
toegevoegd de auteur Phillip Senn, de bron
@cf_PhillipSenn, u moet END de CASE
toegevoegd de auteur James Hill, de bron

Ik weet niet helemaal zeker wat je bedoelt met dynamisch veld, maar ik denk dat dit is waar je om vraagt:

SELECT    MyTable.Foo,
          CASE WHEN MyTable.Foo = "FOO" THEN
              0
          ELSE
              1
          END AS isDeleted
FROM      MyTable
1
toegevoegd