1
我想寫一個約束模式只允許以下:如下字符串:SQL DB2 CHECK約束PATTERN
- 「+55」
- 一個空格
- 一些在120和150之間
- 一個空白區域
- 7-9位數字。
我嘗試了很多的方法,但它沒有一個工作,我希望的方式,結束了做這樣的事情:
ALTER TABLE KUNDENKONTAKTDATEN
ADD CONSTRAINT
VariableA_Check CHECK (
VariableA Like '+55 1[2-4][0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Or VariableA Like '+55 1[2-4][0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Or VariableA Like '+55 1[2-4][0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Or VariableA Like '+55 150 [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Or VariableA Like '+55 150 [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Or VariableA Like '+55 150 [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
不是真的漂亮,但希望它的工作。有什麼建議麼? 謝謝!
8-10位數字不是7-9,我的錯誤! – Bermie
Db2 11.1允許正則表達式 - 如果您在Linux,Unix或Windows上,這將解決您的問題。退房regexp_like - https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0061494.html – MichaelTiefenbacher
謝謝 - 但我是仍然想知道爲什麼上述解決方案不起作用。 – Bermie