2014-10-10 56 views
0

如何在SQL ServerENUM像字符串?我知道SQL服务器没有ENUM,但如何有这种机制?请为以下两种情况建议。如何在TSQL中使用枚举类似的字符串?

  1. 不正确ENUM是必需的,而只是一个字符串是必需的?
  2. 确实ENUM有数字表示是否需要?
+1

我不是很确定你在找什么。在SQL中,可以很容易地创建一个包含两列,一个数字和一个字符串的表格,并且都声明为键。你想用一个枚举来做什么,你不能用这样的表格做什么? – 2014-10-10 06:05:58

回答

2

可能与检查约束,你可以在SQL Server

CREATE TABLE Direction 
(
    types varchar(10) NOT NULL CHECK (types IN('North', 'South', 'East','West')) 
) 

实现ENUM方向表,将接受只拿到插入

0

所提到的价值。如果你的问题很简单作为persisting your Enum values inside SQL Server [事实上,在这种情况下存储数据库并不重要],那么我对你有一个建议。

比方说你有你的存储类的电话号码类型的字段:

public enum ContactType 

public enum ContactType 
{ 
    Home = 0, 
    Mobile = 1 
} 

你会怎样去,如果你问你的枚举你的数据库中,追求幸福生活的后记的商店INT表示对于额外的入口,每次都要更改DB?不好! 你只需将它添加到你枚举在你的代码和问题排序。