如何使用格式化列创建表

问题描述 投票:0回答:2

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

sql sql-server tsql
2个回答
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
投票

不,不要那样做!那不行。

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

最好的方法是在客户端验证模式,并以自由形式存储在db中。

© www.soinside.com 2019 - 2024. All rights reserved.