2012-07-12 46 views
0

我是DB和SQL的新手。我有以下爲出發點:涉及CHAR的SQL域定義

CREATE DOMAIN student_numbers AS CHAR(4) 
CHECK (SUBSTR(VALUE, 1, 1) = 'S' 

我想這樣做是不是檢查「S」而已,我想檢查是否有「A」到「Z」。

還有什麼需要做的情況下,我想檢查'AAAA'到'ZZZZ'?我收集它也許可以假設AAA1是一個範圍內的有效值,這不是正確的行爲。

任何guidence或更多的閱讀資源將是最受歡迎的。

感謝你。

回答

0

我認爲你可以使用在CREATE DOMAIN語句正則表達式,所以像:

CREATE DOMAIN student_numbers AS CHAR(4) 
CHECK SUBSTR(VALUE, 1, 1) ~ '[A-Z]' 

或第二個:

CREATE DOMAIN student_numbers AS CHAR(4) 
CHECK VALUE ~ '^[A-Z]{4}$'