簡體   English   中英

DB2 SQL檢查約束

[英]DB2 SQL Check Constraint

我想在DB2中創建一個檢查約束,該約束將檢查單元格的每個字符,然后僅允許特定值。 我嘗試了很多不同的方式

 add check (substr(term, 1, 1) LIKE '[WS]' 
            and substr(term, 2, 1) = 'S' 
            and substr(term, 3, 2) LIKE '[0-9]') 
            and substr(term, 5, 2) LIKE '[ 0-9]')

如何設置必須包含字符的范圍?

您正在使用正則表達式語法,但必須指定SQL。 所以應該看起來像

add check ((substr(text, 1,1)='W' or substr(text, 1,1)='S') 
           and substr(text, 2,1)='S' 
           and substr(text, 3,1) between 0 and 9 )

現在,使用DB2 LUW 11.1,您還可以使用正則表達式-類似於:

add check (regexp_like(text, '[WS]+'))

這只是一個示例,您必須根據需要調整正則表達式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM