1.
real,就当成double来用。
2.enum、set。
很简单。
但问题是如何查询和使用,在上层的语言里查出来的是什么样子的。
是string。
比如有这么一个表,table(col1 enum,col2 set);其中enum有 (1,'甲')、(2,'乙')、(3,'丙')、(4,'丁'). set有 (1,'A')、 (2,'B')、 (3,'C')、 (4,'D')
如果有这么一列,col1字段为‘甲’,col2字段为‘A’
假如我们用C#语言结合dapper来查询。
var result = db.Query<tableModel>("select * from table_name limit 1");
那么,tableModel里的属性该分别用什么类型的字段来接收呢?
实验证明,
public class tableModel{
public int id{get;set;}
public string col1 {get;set;}
public string col2 {get;set;}
}
注意了,这里col1和col2经过测试,试图用int型是不行的(我知道你们都清楚C系语言的枚举类型的那个意思)。
3.
POINT等空间类型。
显然做地图、画图、测距等是最合适的类型了。
参考此文即可。
http://blog.csdn.net/devcopper/article/details/38088001
但是同样的问题,如果用其他语言查询,该用什么字段来接收呢?
经测试,
POINT、LINESTRING这样的,用 byte[] ,也就是二进制数组才行。用string和int[]这样的都不行。
其余空间类型都是基于这两个的,相必也是这样。
得到byte[]之后再转换成相应的内容就行了。