如何使用格式化列创建表

时间:2017-11-14 17:30:58

标签: sql sql-server tsql

我需要创建一个新的空表,其中每个新值都应由服务器使用其列的格式进行验证。例如,###-###-##,其中每个#是一个从0到9的数字,它应包含那些-符号。怎么样?

2 个答案:

答案 0 :(得分:5)

使用CHECK约束:

CREATE TABLE YourTable ( 
    Col1 VARCHAR(10),
    CONSTRAINT MyContraint CHECK (Col1 LIKE '[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9]')
                );

答案 1 :(得分:1)

没有。不要那样做!那不行。

如果您有多租户应用程序且不同的客户希望以不同的格式存储该值,您将被困。

最好的方法是在客户端验证模式,并以自由格式存储在数据库中。