C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)

 MSSQL

SQLITE

一、C# vs SQLite:

C#SQLite
字段名类型库类型GetFieldType(#)转换备注
F_BOOLboolBIT NOT NULLBoolean  
F_BOOL_NULLbool?BITBoolean  
F_SBYTEsbyteINT8 NOT NULLSBytesbyte_ 
F_SBYTE_NULLsbyte?INT8SBytesbyte_ 
F_BYTEbyteUINT8 NOT NULLByte  
F_BYTE_NULLbyte?UINT8Byte  
F_SHORTshortINT16 NOT NULLInt16  
F_SHORT_NULLshort?INT16Int16  
F_USHORTushortUINT16 NOT NULLUInt16ushort_ 
F_USHORT_NULLushort?UINT16UInt16ushort_ 
F_INTintINT32 NOT NULLInt32  
F_INT_NULLint?INT32Int32  
F_UINTuintUINT32 NOT NULLUInt32uint_ 
F_UINT_NULLuint?UINT32UInt32uint_ 
F_LONGlongINT64 NOT NULLInt64  
F_LONG_NULLlong?INT64Int64  
F_ULONGulongUINT64 NOT NULLUInt64ulong_ 
F_ULONG_NULLulong?UINT64UInt64ulong_ 
F_FLOATfloatFLOAT NOT NULLDouble 不转兼容
F_FLOAT_NULLfloat?FLOATDouble 不转兼容
F_DOUBLEdoubleDOUBLE NOT NULLDouble  
F_DOUBLE_NULLdouble?DOUBLEDouble  
F_DECIMALdecimalDECIMAL NOT NULLDecimal 存取不一:<F_DECIMAL>: [-79228162514264300000000000000] != [-79228162514264337593543950335]
F_DECIMAL_NULLdecimal?DECIMALDecimal 存取不一:<F_DECIMAL>: [-79228162514264300000000000000] != [-79228162514264337593543950335]
F_CHARcharTEXT NOT NULLString  
F_CHAR_NULLchar?TEXTString  
F_STRINGstringTEXT NOT NULLString  
F_STRING_NULLstringTEXTString  
F_DATETIMEDateTimeTEXT NOT NULLString  
F_DATETIME_NULLDateTime?TEXTString  
      

二、 C# vs MySQL:

C#MySQL
字段名类型库类型GetFieldType(#)转换备注
F_BOOLboolBOOL NOT NULLBoolean  
F_BOOL_NULLbool?BOOL NULLBoolean  
F_SBYTEsbyteTINYINT NOT NULLSBytesbyte_ 
F_SBYTE_NULLsbyte?TINYINT NULLSBytesbyte_ 
F_BYTEbyteTINYINT UNSIGNED NOT NULLByte  
F_BYTE_NULLbyte?TINYINT UNSIGNED NULLByte  
F_SHORTshortSMALLINT NOT NULLInt16  
F_SHORT_NULLshort?SMALLINT NULLInt16  
F_USHORTushortSMALLINT UNSIGNED NOT NULLUInt16ushort_ 
F_USHORT_NULLushort?SMALLINT UNSIGNED NULLUInt16ushort_ 
F_INTintINT NOT NULLInt32  
F_INT_NULLint?INT NULLInt32  
F_UINTuintINT UNSIGNED NOT NULLUInt32uint_ 
F_UINT_NULLuint?INT UNSIGNED NULLUInt32uint_ 
F_LONGlongBIGINT NOT NULLInt64  
F_LONG_NULLlong?BIGINT NULLInt64  
F_ULONGulongBIGINT UNSIGNED NOT NULLUInt64ulong_ 
F_ULONG_NULLulong?BIGINT UNSIGNED NULLUInt64ulong_ 
F_FLOATfloatFLOAT NOT NULLSingle 极值溢出
F_FLOAT_NULLfloat?FLOAT NULLSingle 极值溢出
F_DOUBLEdoubleDOUBLE NOT NULLDouble  
F_DOUBLE_NULLdouble?DOUBLE NULLDouble  
F_DECIMALdecimalDECIMAL NOT NULLDecimal 极值溢出
F_DECIMAL_NULLdecimal?DECIMAL NULLDecimal 极值溢出
F_CHARcharCHARACTER NOT NULLString 中文报错
F_CHAR_NULLchar?CHARACTER NULLString 中文报错
F_STRINGstringVARCHAR(50) NOT NULLString  
F_STRING_NULLstringVARCHAR(50) NULLString  
F_DATETIMEDateTimeDATETIME NOT NULLDateTime  
F_DATETIME_NULLDateTime?DATETIME NULLDateTime  
      

三、 C# vs MSSQL:

C#MSSQL
字段名类型库类型GetFieldType(#)转换备注
F_BOOLboolbit NOT NULLBoolean  
F_BOOL_NULLbool?bit NULLBoolean  
F_SBYTEsbytesmallint NOT NULLInt16sbyte_short 
F_SBYTE_NULLsbyte?smallint NULLInt16sbyte_short 
F_BYTEbytetinyint NOT NUL;Byte  
F_BYTE_NULLbyte?tinyint NULLByte  
F_SHORTshortsmallint NOT NULLInt16  
F_SHORT_NULLshort?smallint NULLInt16  
F_USHORTushortint NOT NULLInt32ushort_int 
F_USHORT_NULLushort?int NULLInt32ushort_int 
F_INTintint NOT NULLInt32  
F_INT_NULLint?int NULLInt32  
F_UINTuintbigint NOT NULLInt64uint_long 
F_UINT_NULLuint?bigint NULLInt64uint_long 
F_LONGlongbigint NOT NULLInt64  
F_LONG_NULLlong?bigint NULLInt64  
F_ULONGulongreal NOT NULLSingleulong_float 
F_ULONG_NULLulong?real NULLSingleulong_float 
F_FLOATfloatreal NOT NULLSingle  
F_FLOAT_NULLfloat?real NULLSingle  
F_DOUBLEdoublefloat NOT NULLDouble  
F_DOUBLE_NULLdouble?float NULLDouble  
F_DECIMALdecimaldecimal NOT NULLDecimal 极值溢出
F_DECIMAL_NULLdecimal?decimal NULLDecimal 极值溢出
F_CHARcharchar(1) NOT NULLString  
F_CHAR_NULLchar?char(1) NULLString  
F_STRINGstringvarchar(50) NOT NULLF_STRING:  
F_STRING_NULLstringvarchar(50) NULLString  
F_DATETIMEDateTimedatetime NOT NULLDateTime 必须介于 1/1/1753 12:00:00 AM 12/31/9999 11:59:59 PM 之间。
F_DATETIME_NULLDateTime?datetime NULLDateTime  
      

四、C# vs Oracle:

C#Oracle
字段名类型库类型GetFieldType(#)转换备注
F_BOOLboolCHAR(1) NOT NULLStringbool_string 
F_BOOL_NULLbool?CHAR(1)Stringbool_string 
F_SBYTEsbyteNUMBER(3) NOT NULLInt16sbyte_short 
F_SBYTE_NULLsbyte?NUMBER(3)Int16sbyte_short 
F_BYTEbyteNUMBER(3) NOT NULLInt16byte_short 
F_BYTE_NULLbyte?NUMBER(3)Int16byte_short 
F_SHORTshortNUMBER(5) NOT NULLInt32short_int 
F_SHORT_NULLshort?NUMBER(5)Int32short_int 
F_USHORTushortNUMBER(5) NOT NULLInt32ushort_int 
F_USHORT_NULLushort?NUMBER(5)Int32ushort_int 
F_INTintNUMBER(10) NOT NULLInt64int_long 
F_INT_NULLint?NUMBER(10)Int64int_long 
F_UINTuintNUMBER(10) NOT NULLInt64uint_long 
F_UINT_NULLuint?NUMBER(10)Int64uint_long 
F_LONGlongNUMBER(19) NOT NULLDecimallong_decimal 
F_LONG_NULLlong?NUMBER(19)Decimallong_decimal 
F_ULONGulongNUMBER(19) NOT NULLDecimalulong_decimal 
F_ULONG_NULLulong?NUMBER(19)Decimalulong_decimal 
F_FLOATfloatBINARY_FLOAT NOT NULLSingle  
F_FLOAT_NULLfloat?BINARY_FLOATSingle  
F_DOUBLEdoubleBINARY_DOUBLE NOT NULLDouble 极值溢出
F_DOUBLE_NULLdouble?BINARY_DOUBLEDouble 极值溢出
F_DECIMALdecimalDECIMAL(33,3) NOT NULLDecimal  
F_DECIMAL_NULLdecimal?DECIMAL(33,3)Decimal  
F_CHARcharCHAR(1) NOT NULLString  
F_CHAR_NULLchar?CHAR(1)String  
F_STRINGstringVARCHAR(50) NOT NULLString 不允许空字符
F_STRING_NULLstringVARCHAR(50)String 不允许空字符
F_DATETIMEDateTimeTIMESTAMP NOT NULLDateTime 大值读取报错
F_DATETIME_NULLDateTime?TIMESTAMPDateTime 大值读取报错
      

附、类型转换:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值