检查Oracle中的字符格式

时间:2012-05-15 18:18:41

标签: sql oracle

可能是一个显而易见的问题,但Oracle Technet对此我的搜索条款并不友好。我想创建一个表,并使char列具有特定的格式。例如,检查约束将确保插入的SSN字符串的格式为“### - ## - ####”,包括短划线。如何指定此检查?

3 个答案:

答案 0 :(得分:2)

我从未做过类似的事情,但尝试过这样的事情:

CREATE TABLE suppliers
(   supplier_id numeric(4), 
    supplier_name   varchar2(50),   
    CONSTRAINT check_supplier_id
        CHECK (supplier_id REGEXP_LIKE(testcol, '^... .. ....$');)
);

答案 1 :(得分:1)

以特定格式存储数据通常不是一个好主意。格式化只是钟声和口哨,不同的情况可能需要不同的格式。添加本地化,​​这显然不是一个好主意。

您需要在检索数据后进行格式化。这可以通过Format Models完成。

答案 2 :(得分:0)

使用数据库触发器可以完成更复杂的验证。也许你这是你错过的搜索词。