2012-09-26 18 views
5

Mam bazę danych SQL Server z kolumną czasu, która może być wypełniona tylko tekstem am lub pm i mam problem ze znalezieniem ograniczenia, które pozwoliłoby mi to zrobić. Bardzo dziękuję z góry.Ograniczenia łańcuchów SQL Server

+1

Jaki smak języka SQL i czy możesz dodać więcej szczegółów na temat struktury tabeli? –

+7

Przepraszam, nie rozumiem, jaki masz problem. dlaczego używałbyś kolumny tekstowej do przechowywania dat? – RomanKonz

+0

Czy masz na myśli kolumnę czasu zgodnie z typem czasu lub kolumną do przechowywania ciągów AM lub PM? – Mark

Odpowiedz

14

Dla serwera SQL można użyć CHECK constraint, który pozwala zdefiniować predykat, że wszystkie wiersze muszą się spotkać w celu wejścia do tabeli. Tak jak poniżej:

ALTER TABLE TablName 
ADD CONSTRAINT CHK_ampm 
CHECK(ColumnName IN('am', 'pm'));