C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)
MSSQL
SQLITE
一、C# vs SQLite:
C# | SQLite | ||||
字段名 | 类型 | 库类型 | GetFieldType(#) | 转换 | 备注 |
F_BOOL | bool | BIT NOT NULL | Boolean | ||
F_BOOL_NULL | bool? | BIT | Boolean | ||
F_SBYTE | sbyte | INT8 NOT NULL | SByte | sbyte_ | |
F_SBYTE_NULL | sbyte? | INT8 | SByte | sbyte_ | |
F_BYTE | byte | UINT8 NOT NULL | Byte | ||
F_BYTE_NULL | byte? | UINT8 | Byte | ||
F_SHORT | short | INT16 NOT NULL | Int16 | ||
F_SHORT_NULL | short? | INT16 | Int16 | ||
F_USHORT | ushort | UINT16 NOT NULL | UInt16 | ushort_ | |
F_USHORT_NULL | ushort? | UINT16 | UInt16 | ushort_ | |
F_INT | int | INT32 NOT NULL | Int32 | ||
F_INT_NULL | int? | INT32 | Int32 | ||
F_UINT | uint | UINT32 NOT NULL | UInt32 | uint_ | |
F_UINT_NULL | uint? | UINT32 | UInt32 | uint_ | |
F_LONG | long | INT64 NOT NULL | Int64 | ||
F_LONG_NULL | long? | INT64 | Int64 | ||
F_ULONG | ulong | UINT64 NOT NULL | UInt64 | ulong_ | |
F_ULONG_NULL | ulong? | UINT64 | UInt64 | ulong_ | |
F_FLOAT | float | FLOAT NOT NULL | Double | 不转兼容 | |
F_FLOAT_NULL | float? | FLOAT | Double | 不转兼容 | |
F_DOUBLE | double | DOUBLE NOT NULL | Double | ||
F_DOUBLE_NULL | double? | DOUBLE | Double | ||
F_DECIMAL | decimal | DECIMAL NOT NULL | Decimal | 存取不一:<F_DECIMAL>: [-79228162514264300000000000000] != [-79228162514264337593543950335] | |
F_DECIMAL_NULL | decimal? | DECIMAL | Decimal | 存取不一:<F_DECIMAL>: [-79228162514264300000000000000] != [-79228162514264337593543950335] | |
F_CHAR | char | TEXT NOT NULL | String | ||
F_CHAR_NULL | char? | TEXT | String | ||
F_STRING | string | TEXT NOT NULL | String | ||
F_STRING_NULL | string | TEXT | String | ||
F_DATETIME | DateTime | TEXT NOT NULL | String | ||
F_DATETIME_NULL | DateTime? | TEXT | String | ||
二、 C# vs MySQL:
C# | MySQL | ||||
字段名 | 类型 | 库类型 | GetFieldType(#) | 转换 | 备注 |
F_BOOL | bool | BOOL NOT NULL | Boolean | ||
F_BOOL_NULL | bool? | BOOL NULL | Boolean | ||
F_SBYTE | sbyte | TINYINT NOT NULL | SByte | sbyte_ | |
F_SBYTE_NULL | sbyte? | TINYINT NULL | SByte | sbyte_ | |
F_BYTE | byte | TINYINT UNSIGNED NOT NULL | Byte | ||
F_BYTE_NULL | byte? | TINYINT UNSIGNED NULL | Byte | ||
F_SHORT | short | SMALLINT NOT NULL | Int16 | ||
F_SHORT_NULL | short? | SMALLINT NULL | Int16 | ||
F_USHORT | ushort | SMALLINT UNSIGNED NOT NULL | UInt16 | ushort_ | |
F_USHORT_NULL | ushort? | SMALLINT UNSIGNED NULL | UInt16 | ushort_ | |
F_INT | int | INT NOT NULL | Int32 | ||
F_INT_NULL | int? | INT NULL | Int32 | ||
F_UINT | uint | INT UNSIGNED NOT NULL | UInt32 | uint_ | |
F_UINT_NULL | uint? | INT UNSIGNED NULL | UInt32 | uint_ | |
F_LONG | long | BIGINT NOT NULL | Int64 | ||
F_LONG_NULL | long? | BIGINT NULL | Int64 | ||
F_ULONG | ulong | BIGINT UNSIGNED NOT NULL | UInt64 | ulong_ | |
F_ULONG_NULL | ulong? | BIGINT UNSIGNED NULL | UInt64 | ulong_ | |
F_FLOAT | float | FLOAT NOT NULL | Single | 极值溢出 | |
F_FLOAT_NULL | float? | FLOAT NULL | Single | 极值溢出 | |
F_DOUBLE | double | DOUBLE NOT NULL | Double | ||
F_DOUBLE_NULL | double? | DOUBLE NULL | Double | ||
F_DECIMAL | decimal | DECIMAL NOT NULL | Decimal | 极值溢出 | |
F_DECIMAL_NULL | decimal? | DECIMAL NULL | Decimal | 极值溢出 | |
F_CHAR | char | CHARACTER NOT NULL | String | 中文报错 | |
F_CHAR_NULL | char? | CHARACTER NULL | String | 中文报错 | |
F_STRING | string | VARCHAR(50) NOT NULL | String | ||
F_STRING_NULL | string | VARCHAR(50) NULL | String | ||
F_DATETIME | DateTime | DATETIME NOT NULL | DateTime | ||
F_DATETIME_NULL | DateTime? | DATETIME NULL | DateTime | ||
三、 C# vs MSSQL:
C# | MSSQL | ||||
字段名 | 类型 | 库类型 | GetFieldType(#) | 转换 | 备注 |
F_BOOL | bool | bit NOT NULL | Boolean | ||
F_BOOL_NULL | bool? | bit NULL | Boolean | ||
F_SBYTE | sbyte | smallint NOT NULL | Int16 | sbyte_short | |
F_SBYTE_NULL | sbyte? | smallint NULL | Int16 | sbyte_short | |
F_BYTE | byte | tinyint NOT NUL; | Byte | ||
F_BYTE_NULL | byte? | tinyint NULL | Byte | ||
F_SHORT | short | smallint NOT NULL | Int16 | ||
F_SHORT_NULL | short? | smallint NULL | Int16 | ||
F_USHORT | ushort | int NOT NULL | Int32 | ushort_int | |
F_USHORT_NULL | ushort? | int NULL | Int32 | ushort_int | |
F_INT | int | int NOT NULL | Int32 | ||
F_INT_NULL | int? | int NULL | Int32 | ||
F_UINT | uint | bigint NOT NULL | Int64 | uint_long | |
F_UINT_NULL | uint? | bigint NULL | Int64 | uint_long | |
F_LONG | long | bigint NOT NULL | Int64 | ||
F_LONG_NULL | long? | bigint NULL | Int64 | ||
F_ULONG | ulong | real NOT NULL | Single | ulong_float | |
F_ULONG_NULL | ulong? | real NULL | Single | ulong_float | |
F_FLOAT | float | real NOT NULL | Single | ||
F_FLOAT_NULL | float? | real NULL | Single | ||
F_DOUBLE | double | float NOT NULL | Double | ||
F_DOUBLE_NULL | double? | float NULL | Double | ||
F_DECIMAL | decimal | decimal NOT NULL | Decimal | 极值溢出 | |
F_DECIMAL_NULL | decimal? | decimal NULL | Decimal | 极值溢出 | |
F_CHAR | char | char(1) NOT NULL | String | ||
F_CHAR_NULL | char? | char(1) NULL | String | ||
F_STRING | string | varchar(50) NOT NULL | F_STRING: | ||
F_STRING_NULL | string | varchar(50) NULL | String | ||
F_DATETIME | DateTime | datetime NOT NULL | DateTime | 必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。 | |
F_DATETIME_NULL | DateTime? | datetime NULL | DateTime | ||
四、C# vs Oracle:
C# | Oracle | ||||
字段名 | 类型 | 库类型 | GetFieldType(#) | 转换 | 备注 |
F_BOOL | bool | CHAR(1) NOT NULL | String | bool_string | |
F_BOOL_NULL | bool? | CHAR(1) | String | bool_string | |
F_SBYTE | sbyte | NUMBER(3) NOT NULL | Int16 | sbyte_short | |
F_SBYTE_NULL | sbyte? | NUMBER(3) | Int16 | sbyte_short | |
F_BYTE | byte | NUMBER(3) NOT NULL | Int16 | byte_short | |
F_BYTE_NULL | byte? | NUMBER(3) | Int16 | byte_short | |
F_SHORT | short | NUMBER(5) NOT NULL | Int32 | short_int | |
F_SHORT_NULL | short? | NUMBER(5) | Int32 | short_int | |
F_USHORT | ushort | NUMBER(5) NOT NULL | Int32 | ushort_int | |
F_USHORT_NULL | ushort? | NUMBER(5) | Int32 | ushort_int | |
F_INT | int | NUMBER(10) NOT NULL | Int64 | int_long | |
F_INT_NULL | int? | NUMBER(10) | Int64 | int_long | |
F_UINT | uint | NUMBER(10) NOT NULL | Int64 | uint_long | |
F_UINT_NULL | uint? | NUMBER(10) | Int64 | uint_long | |
F_LONG | long | NUMBER(19) NOT NULL | Decimal | long_decimal | |
F_LONG_NULL | long? | NUMBER(19) | Decimal | long_decimal | |
F_ULONG | ulong | NUMBER(19) NOT NULL | Decimal | ulong_decimal | |
F_ULONG_NULL | ulong? | NUMBER(19) | Decimal | ulong_decimal | |
F_FLOAT | float | BINARY_FLOAT NOT NULL | Single | ||
F_FLOAT_NULL | float? | BINARY_FLOAT | Single | ||
F_DOUBLE | double | BINARY_DOUBLE NOT NULL | Double | 极值溢出 | |
F_DOUBLE_NULL | double? | BINARY_DOUBLE | Double | 极值溢出 | |
F_DECIMAL | decimal | DECIMAL(33,3) NOT NULL | Decimal | ||
F_DECIMAL_NULL | decimal? | DECIMAL(33,3) | Decimal | ||
F_CHAR | char | CHAR(1) NOT NULL | String | ||
F_CHAR_NULL | char? | CHAR(1) | String | ||
F_STRING | string | VARCHAR(50) NOT NULL | String | 不允许空字符 | |
F_STRING_NULL | string | VARCHAR(50) | String | 不允许空字符 | |
F_DATETIME | DateTime | TIMESTAMP NOT NULL | DateTime | 大值读取报错 | |
F_DATETIME_NULL | DateTime? | TIMESTAMP | DateTime | 大值读取报错 | |
附、类型转换:
using System; using System.Collections.Generic; using System.Text; namespace vJine.Core.ORM { public class TypeConverter { public class sbyte_ /*: IConverter<sbyte>*/ { public static sbyte CONV_Q(object V) { return (sbyte)V; } } public class ushort_ /*: IConverter<ushort>*/ { public static ushort CONV_Q(object V) { return (ushort)V; } } public class uint_ /*: IConverter<uint>*/ { public static uint CONV_Q(object V) { return (uint)V; } } public class ulong_ /*: IConverter<ulong>*/ { public static ulong CONV_Q(object V) { return (ulong)V; } } public class bool_string /*: IConverter<bool>*/ { public static object CONV_I(object V) { if ((bool)V == true) { return "1"; } else { return "0"; } } public static bool CONV_Q(object V) { if ((string)V == "1") { return true; } else { return false; } } } public class sbyte_short /*: IConverter<sbyte>*/ { public static object CONV_I(object V) { return Convert.ToInt16(V); } public static sbyte CONV_Q(object V) { return Convert.ToSByte(V); } } public class byte_short /*: IConverter<byte>*/ { public static object CONV_I(object V) { return Convert.ToInt16(V); } public static byte CONV_Q(object V) { return Convert.ToByte(V); } } public class short_int /*: IConverter<short>*/ { public static object CONV_I(object V) { return Convert.ToInt32(V); } public static short CONV_Q(object V) { return Convert.ToInt16(V); } } public class ushort_int /*: IConverter<ushort>*/ { public static object CONV_I(object V, string Name) { return Convert.ToInt32(V); } public static ushort CONV_Q(object V, string Name) { return Convert.ToUInt16(V); } } public class int_long /*: IConverter<int>*/ { public static object CONV_I(object V) { return Convert.ToInt64(V); } public static int CONV_Q(object V) { return Convert.ToInt32(V); } } public class uint_long /*: IConverter<uint>*/ { public static object CONV_I(object V) { return Convert.ToInt64(V); } public static uint CONV_Q(object V) { return Convert.ToUInt32(V); } } public class long_decimal /*: IConverter<long>*/ {
转载于:https://www.cnblogs.com/swtool/p/8203309.html
C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)相关推荐
- Hibernate常用的Java数据类型映射到mysql和Oracle
研究了常用的Java基本数据类型在mysql和oracle数据库的映射类型.这里使用的是包装类型做研究,一般在hibernate声明的时候最好不要用基本类型,因为数据库中的null空数据有可能映射为基 ...
- MYSQL/MSSQL/ORACLE数据库脚本代码
/******************************************************************************/ /* 主流数据库MYSQL/MSSQL ...
- mssql与oracle不同点,MySql,Mssql,Oracle的优缺点和异同(欢迎补充) *
2007-10-04 14:18:15 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大 ...
- oracle布尔true 1,将.NET布尔数据类型映射到实体框架中的oracle数(1,0)会抛出错误
将.NET布尔数据类型映射到.edmx文件中的oracle号(1,0)会抛出以下错误. Error 2019: Member Mapping specified is not valid. The t ...
- oracle的优化适用于mysql吗_性能优化之数据库优化,适用于Sqlite、Mysql、Oracle、Sql server,详细介绍了索引和事务及部分针对Sqlite的优化...
本文为性能优化的第一篇--数据库性能优化,原理适用于大部分数据库包括Sqlite.Mysql.Oracle.Sql server,详细介绍了索引(优缺点.分类.场景.规则)和事务,最后介绍了部分单独针 ...
- JDBC与Mysql,Oracle数据类型之间的对应关系
2019独角兽企业重金招聘Python工程师标准>>> MySql数据类型参考:http://www.runoob.com/mysql/mysql-data-types.html M ...
- MySQL与Oracle数据类型对比
MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据 ...
- 总结java数据类型和mysql、oracle、pgsql数据类型对应关系,附数据库字段类型转java类型代码
java的基本数据类型有八种: byte.short.int.long.float.double.char.boolean 总结java和mysql.oracle.pgsql数据类型对应关系 java ...
- UniDAC使用教程(四):数据类型映射
2019独角兽企业重金招聘Python工程师标准>>> 下载UniDAC最新版本 Universal Data Access Components (UniDAC)是一款通用数据库访 ...
最新文章
- Java ClassLoader findLibrary()方法与示例
- 图片格式之RGB转BMP格式(含代码)
- Ubuntu16.04开机引导缺失Win10
- 2018 ACM-ICPC World Finals - Beijing F.Go with the Flow
- iOS备忘录之IOS开发的一些网站(看看还是不错的)
- 计算机代数与数论pdf,基础数论算法 - maTHμ - 计算机代数系统.pdf
- SVN 无法提交 svn: Can't open file '/svn/ssq/db/txn-current-lock': Permission denied
- 数据结构与算法分析Java语言描述 第三版 课后习题 练习 答案
- cvtColor封装
- 凯斯西储大学计算机科学排名,凯斯西储大学排名计算机工程,超牛干货分解
- html5制作学生积分系统,科学网—CLASS极简教程 - 钱磊的博文
- mysql 触发器 sql server_喜忧参半的SQL Server触发器
- Hadoop2.x与3.x的区别:
- 扣丁软件测试基础知识,苹果无线充电线圈揭秘,iphone8无线充电线圈介绍
- 分享三个前端学习方法和十项前端面试笔记:为想去的公司努力一把
- 【日常记录】Linux 系统 tar、rar、zip、7z、7za 压缩、解压命令
- 数据数仓的三种建模方式
- 打造前端 Deepin Linux 工作环境——安装配置 atom 编辑器
- dlib.get_frontal_face_detector(), Python format 格式化函数 predictor(img, dets[0])
- matlab模拟n维谐振子,n维耦合谐振子的能量谱条件数理论研究
热门文章
- 代理池proxypool新版使用教程
- python华为面试题10个人数3获取下标
- using a dict on a Series for aggregation is deprecated and will be removed in a future version
- python3爬虫初探(三)之正则表达式
- scikit-learn学习笔记(四)Ridge Regression ( 岭回归 )
- geometry-api-java 学习笔记(七)拓扑运算之cut
- 人工神经网络之激活函数总结
- Gurobi 生产计划调度学习案例(含代码实现) (生产切换、装配计划)
- 使用Spring特性优雅书写业务代码
- 把MySQL中的各种锁及其原理都画出来