CREATE TABLE  dbo.table1 (
  column1 set('1.0','2.0') default NULL,
)
请问在MS-SQLServer 里面对应的类型是什么?

解决方案 »

  1.   

    还有这个 CREATE TABLE  dbo.table1 (
      column1 set('1.0','2.0') default NULL,
      column2 enum('1.0','2.0') default NULL,
    )这两种有什么区别么?MS-SQLServer 里面对应的类型是什么?
      

  2.   

    set('1.0','2.0') 就是说值是在这个集合里面的一个或多个值
    enum('1.0','2.0')就是说这个字段的值只能是这个集合中的一个MSSQL中无此种数据类型
      

  3.   

    ENUM和SETENUM和SET都是比较特殊的字符串数据列类型,它们的取值范围是一个预先定义好的列表。ENUM或SET数据列的取值只能从这个列表中进行选择。ENUM和SET的主要区别是:ENUM只能取单值,它的数据列表是一个枚举集合。它的合法取值列表最多允许有65535个成员。例如:ENUM("N","Y")表示,该数据列的取值要么是"Y",要么就是"N"。SET可取多值。它的合法取值列表最多允许有64个成员。空字符串也是一个合法的SET值。ENUM和SET的值是以字符串形式出现的,但在内部,MySQL以数值的形式存储它们。ENUM的合法取值列表中的字符串被按声明定义的顺序被编号,从1开始。SET 的编号不是按顺序进行编号的,SET中每一个合法取值都对应着SET值里的一个位。第一个合法取值对应0位,第二个合法取值对应1位,以此类推,如果数值形式的SET值等于0,则说明它是一个空字符串,如果某个合法的取值出现在SET数据列里,与之对应的位就会被置位;如果某个合法的取值没有出现在SET 数据列里,与之对应的位就会被清零。正因为SET值与位有这样的对应关系,所以SET数据列的多个合法取值才能同时出现并构成SET值。在mysql的手册里有。
      

  4.   

    MS SQL Server没有对应的数据类型。