我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【数据类型】C#和Sql Server、Mysql、Oracle等常见数据库的数据类型对应关系

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【数据类型】C#和Sql Server、Mysql、Oracle等常见数据库的数据类型对应关系

🏆🏆这是小5写的第二篇城市领跑者文章,一起为所在城市领跑助力吧!
🏆🏆在实际项目中,不管是用C#后端编程语言也好,还是Java后端编程语言,都可能会用到不同端的数据类型转换和对应关系

目录

1.1、对应关系

在 C# 和 SQL Server 之间,以下是一些最常用的数据类型对应关系:

编号C#数据类型Mssql数据类型
1bigintlong 或 Int64
2intint 或 Int32
3smallintshort 或 Int16
4tinyintbyte 或者 SByte
5decimal或 numericdecimal 或 Decimal
6money 或 smallmoneydecimal 或 Decimal
7floatdouble 或 Double
8realfloat 或 Single
9dateDateTime 或 DateTime2
10datetimeDateTime 或 DateTime2
11datetimeDateTime 或 DateTime2
12datetime2DateTime 或 DateTime2
13datetimeoffsetDateTimeOffset 或 DateTimeOffset
14timeTimeSpan 或 TimeSpan
15char 或 ncharstring 或 String
16varchar 或 nvarcharstring 或 String
17text 或 ntextstring 或 String
18binarybyte[] 或 Byte[]
19varbinarybyte[] 或 Byte[]
20imagebyte[] 或 Byte[]

需要注意的是,这些数据类型对应关系仅适用于大多数情况,具体的实现可能会因需要和其他因素而有所不同。此外,SqlDbType 枚举也提供了一些有用的成员,可用于根据数据库中使用的数据类型限制转换。因此在编写应用程序时请根据实际情况考虑使用哪种数据类型对应关系。

1.2、关系代码

根据上面对应的关系,可以编写如下代码,并非是全部类型转换代码,小伙伴们可以根据自己业务情况补齐

private static string DataTypeMssql(string dType){    string dataType = string.Empty;    if (dType.ToLower() == "int".ToLower())    {        dataType = "int";    }    else if (dType.ToLower() == "varchar".ToLower() || dType.ToLower() == "nvarchar".ToLower()         || dType.ToLower() == "char".ToLower() || dType.ToLower() == "nchar".ToLower()        || dType.ToLower() == "text".ToLower() || dType.ToLower() == "ntext".ToLower())    {        dataType = "string";    }    else if (dType.ToLower() == "bigint".ToLower())    {        dataType = "long";    }    else if (dType.ToLower() == "smallint".ToLower())    {        dataType = "short";    }    else if (dType.ToLower() == "tinyint".ToLower())    {        dataType = "byte";    }    else if (dType.ToLower() == "decimal".ToLower()|| dType.ToLower() == "numeric".ToLower())    {        dataType = "decimal";    }    else if (dType.ToLower() == "money".ToLower() || dType.ToLower() == "smallmoney".ToLower())    {        dataType = "decimal";    }    else if (dType.ToLower() == "float".ToLower())    {        dataType = "double";    }    else if (dType.ToLower() == "real".ToLower())    {        dataType = "float";    }    else if (dType.ToLower() == "date".ToLower() || dType.ToLower() == "datetime".ToLower() || dType.ToLower() == "datetime2".ToLower())    {        dataType = "DateTime";    }    else if (dType.ToLower() == "datetimeoffset".ToLower())    {        dataType = "DateTimeOffset";    }    else if (dType.ToLower() == "time".ToLower())    {        dataType = "TimeSpan";    }    else if (dType.ToLower() == "char".ToLower())    {        dataType = "TimeSpan";    }    else if (dType.ToLower() == "binary".ToLower() || dType.ToLower() == "varbinary".ToLower() || dType.ToLower() == "image".ToLower())    {        dataType = "byte[]";    }    return dataType;}

2.1、对应关系

在 C# 和 Mysql 之间,以下是一些最常用的数据类型对应关系:

编号C#数据类型Mysql数据类型
1bigintlong 或 Int64
2intint 或 Int32
3smallintshort 或 Int16
4tinyintbyte 或者 SByte
5decimal或 numericdecimal 或 Decimal
6floatdouble 或 Double
7doublefloat 或 Single
8dateDateTime 或 DateTime2
9datetimeDateTime 或 DateTime2
10timeTimeSpan 或 TimeSpan
11charstring 或 String
12varcharstring 或 String
13textstring 或 String
14binarybyte[] 或 Byte[]
15varbinarybyte[] 或 Byte[]
16blobbyte[] 或 Byte[]

需要注意的是,在 C# 中,MySQL 的一些数据类型名称与 SQL Server 或 Oracle 等其他数据库不同,需要使用不同的对应关系来匹配这些名称。此外,这些数据类型对应关系仅适用于大多数情况,具体的实现可能会因需要和其他因素而有所不同。因此,在编写应用程序时请根据实际情况考虑使用哪种数据类型对应关系

2.2、关系代码

根据上面对应的关系,可以编写如下代码,并非是全部类型转换代码,小伙伴们可以根据自己业务情况补齐

private static string DataTypeMysql(string dType){    string dataType = string.Empty;    if (dType.ToLower() == "int".ToLower())    {        dataType = "int";    }    else if (dType.ToLower() == "bigint".ToLower())    {        dataType = "long";    }    else if (dType.ToLower() == "smallint".ToLower())    {        dataType = "short";    }    else if (dType.ToLower() == "tinyint".ToLower())    {        dataType = "byte";    }    else if (dType.ToLower() == "decimal".ToLower() || dType.ToLower() == "numeric".ToLower())    {        dataType = "decimal";    }    else if (dType.ToLower() == "float".ToLower())    {        dataType = "double";    }    else if (dType.ToLower() == "double".ToLower())    {        dataType = "float";    }    else if (dType.ToLower() == "date".ToLower() || dType.ToLower() == "datetime".ToLower())    {        dataType = "DateTime";    }    else if (dType.ToLower() == "time".ToLower())    {        dataType = "TimeSpan";    }    else if (dType.ToLower() == "varchar".ToLower() || dType.ToLower() == "char".ToLower() || dType.ToLower() == "text".ToLower())    {        dataType = "string";    }    else if (dType.ToLower() == "binary".ToLower() || dType.ToLower() == "varbinary".ToLower() || dType.ToLower() == "blob".ToLower())    {        dataType = "byte[]";    }    return dataType;}

3.1、对应关系

在 C# 和 Oracle 之间,以下是一些最常用的数据类型对应关系:

编号C#数据类型Mysql数据类型
1bigintlong 或 Int64
2interval year to monthint 或 Int32
3number, int, smallint或 numericdecimal 或 Decimal
4binary_doubledouble 或 Double
5binary_floatfloat 或 Single
6dateDateTime 或 DateTime2
7interval day to secondTimeSpan 或 TimeSpan
8charstring 或 String
9clobstring 或 String
10blobbyte[] 或 Byte[]

3.2、关系代码

private static string DataTypeOracle(string dType){    string dataType = string.Empty;    if (dType.ToLower() == "interval year to month".ToLower())    {        dataType = "int";    }    else if (dType.ToLower() == "bigint".ToLower())    {        dataType = "long";    }    else if (dType.ToLower() == "int".ToLower() || dType.ToLower() == "smallint".ToLower() || dType.ToLower() == "numeric".ToLower())    {        dataType = "decimal";    }    else if (dType.ToLower() == "binary_double".ToLower())    {        dataType = "double";    }    else if (dType.ToLower() == "binary_float".ToLower())    {        dataType = "float";    }    else if (dType.ToLower() == "date".ToLower())    {        dataType = "DateTime";    }    else if (dType.ToLower() == "interval day to second".ToLower())    {        dataType = "TimeSpan";    }    else if (dType.ToLower() == "char".ToLower() || dType.ToLower() == "clob".ToLower() || dType.ToLower() == "blob".ToLower())    {        dataType = "string";    }    return dataType;}

🏆🏆 原则:Write Less Do More!
🍎🍎简介:一只喜欢全栈方向的程序员,专注基础和实战分享,欢迎咨询,尽绵薄之力答疑解惑!

在C#开发语言里,也有一个数据类型枚举

4.1、如下图片

在这里插入图片描述

4.2、代码如下

代码里有数据类型的详细说明,包括一些取值范围

#region 程序集 netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51// C:\Users\15633\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\netstandard.dll#endregionnamespace System.Data{    //    // 摘要:    //     Specifies SQL Server-specific data type of a field, property, for use in a System.Data.SqlClient.SqlParameter.    public enum SqlDbType    {        //        // 摘要:        //     System.Int64. A 64-bit signed integer.        BigInt = 0,        //        // 摘要:        //     System.Array of type System.Byte. A fixed-length stream of binary data ranging        //     between 1 and 8,000 bytes.        Binary = 1,        //        // 摘要:        //     System.Boolean. An unsigned numeric value that can be 0, 1, or null.        Bit = 2,        //        // 摘要:        //     System.String. A fixed-length stream of non-Unicode characters ranging between        //     1 and 8,000 characters.        Char = 3,        //        // 摘要:        //     System.DateTime. Date and time data ranging in value from January 1, 1753 to        //     December 31, 9999 to an accuracy of 3.33 milliseconds.        DateTime = 4,        //        // 摘要:        //     System.Decimal. A fixed precision and scale numeric value between -10 38 -1 and        //     10 38 -1.        Decimal = 5,        //        // 摘要:        //     System.Double. A floating point number within the range of -1.79E +308 through        //     1.79E +308.        Float = 6,        //        // 摘要:        //     System.Array of type System.Byte. A variable-length stream of binary data ranging        //     from 0 to 2 31 -1 (or 2,147,483,647) bytes.        Image = 7,        //        // 摘要:        //     System.Int32. A 32-bit signed integer.        Int = 8,        //        // 摘要:        //     System.Decimal. A currency value ranging from -2 63 (or -9,223,372,036,854,775,808)        //     to 2 63 -1 (or +9,223,372,036,854,775,807) with an accuracy to a ten-thousandth        //     of a currency unit.        Money = 9,        //        // 摘要:        //     System.String. A fixed-length stream of Unicode characters ranging between 1        //     and 4,000 characters.        NChar = 10,        //        // 摘要:        //     System.String. A variable-length stream of Unicode data with a maximum length        //     of 2 30 - 1 (or 1,073,741,823) characters.        NText = 11,        //        // 摘要:        //     System.String. A variable-length stream of Unicode characters ranging between        //     1 and 4,000 characters. Implicit conversion fails if the string is greater than        //     4,000 characters. Explicitly set the object when working with strings longer        //     than 4,000 characters. Use System.Data.SqlDbType.NVarChar when the database column        //     is nvarchar(max).        NVarChar = 12,        //        // 摘要:        //     System.Single. A floating point number within the range of -3.40E +38 through        //     3.40E +38.        Real = 13,        //        // 摘要:        //     System.Guid. A globally unique identifier (or GUID).        UniqueIdentifier = 14,        //        // 摘要:        //     System.DateTime. Date and time data ranging in value from January 1, 1900 to        //     June 6, 2079 to an accuracy of one minute.        SmallDateTime = 15,        //        // 摘要:        //     System.Int16. A 16-bit signed integer.        SmallInt = 16,        //        // 摘要:        //     System.Decimal. A currency value ranging from -214,748.3648 to +214,748.3647        //     with an accuracy to a ten-thousandth of a currency unit.        SmallMoney = 17,        //        // 摘要:        //     System.String. A variable-length stream of non-Unicode data with a maximum length        //     of 2 31 -1 (or 2,147,483,647) characters.        Text = 18,        //        // 摘要:        //     System.Array of type System.Byte. Automatically generated binary numbers, which        //     are guaranteed to be unique within a database. timestamp is used typically as        //     a mechanism for version-stamping table rows. The storage size is 8 bytes.        Timestamp = 19,        //        // 摘要:        //     System.Byte. An 8-bit unsigned integer.        TinyInt = 20,        //        // 摘要:        //     System.Array of type System.Byte. A variable-length stream of binary data ranging        //     between 1 and 8,000 bytes. Implicit conversion fails if the byte array is greater        //     than 8,000 bytes. Explicitly set the object when working with byte arrays larger        //     than 8,000 bytes.        VarBinary = 21,        //        // 摘要:        //     System.String. A variable-length stream of non-Unicode characters ranging between        //     1 and 8,000 characters. Use System.Data.SqlDbType.VarChar when the database column        //     is varchar(max).        VarChar = 22,        //        // 摘要:        //     System.Object. A special data type that can contain numeric, string, binary,        //     or date data as well as the SQL Server values Empty and Null, which is assumed        //     if no other type is declared.        Variant = 23,        //        // 摘要:        //     An XML value. Obtain the XML as a string using the System.Data.SqlClient.SqlDataReader.GetValue(System.Int32)        //     method or System.Data.SqlTypes.SqlXml.Value property, or as an System.Xml.XmlReader        //     by calling the System.Data.SqlTypes.SqlXml.CreateReader method.        Xml = 25,        //        // 摘要:        //     A SQL Server user-defined type (UDT).        Udt = 29,        //        // 摘要:        //     A special data type for specifying structured data contained in table-valued        //     parameters.        Structured = 30,        //        // 摘要:        //     Date data ranging in value from January 1,1 AD through December 31, 9999 AD.        Date = 31,        //        // 摘要:        //     Time data based on a 24-hour clock. Time value range is 00:00:00 through 23:59:59.9999999        //     with an accuracy of 100 nanoseconds. Corresponds to a SQL Server time value.        Time = 32,        //        // 摘要:        //     Date and time data. Date value range is from January 1,1 AD through December        //     31, 9999 AD. Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy        //     of 100 nanoseconds.        DateTime2 = 33,        //        // 摘要:        //     Date and time data with time zone awareness. Date value range is from January        //     1,1 AD through December 31, 9999 AD. Time value range is 00:00:00 through 23:59:59.9999999        //     with an accuracy of 100 nanoseconds. Time zone value range is -14:00 through        //     +14:00.        DateTimeOffset = 34    }}

🏆🏆对比不同数据库和C#之间的数据类型,可以发现,大同小异,大部分都是基本一致,有个别类型名称不一样但表示的C#数据类型是一致的。
实际项目中,其实C#与Mssql数据库一般都是两者配合使用,只有在第三方插件或者维护其他项目时才会用到。

来源地址:https://blog.csdn.net/lmy_520/article/details/131271247

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【数据类型】C#和Sql Server、Mysql、Oracle等常见数据库的数据类型对应关系

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL数据库常见的数据类型

MySQL提供的数据类型包括数值类型(整数类型和小数类型)、字符串类型、日期类型、复合类型(复合类型包括enum类型和set类型)以及二进制类型 。1,整数类型:整数类型的数,默认情况下既可以表示正整数又可以表示负整数(此时称为有符号数)。如果只希望表示零和正
MySQL数据库常见的数据类型
2020-08-20

Oracle数据库中常见的数据类型有哪些?

Oracle数据库中常见的数据类型有很多种,包括数值型、字符型、日期型等。下面将具体介绍一些常见的数据类型,并附上相应的代码示例。数值型数据类型:NUMBER: 用于存储数值类型数据,可以根据需要指定精度和范围。示例:CREATE TAB
Oracle数据库中常见的数据类型有哪些?
2024-03-08

MyBatis JdbcType 与Oracle、MySql数据类型对应关系说明

1. Mybatis JdbcType与Oracle、MySql数据类型对应列表MybatisJdbcTypeOracleMySqlJdbcTypeARRAYJdbcTypeBIGINTBIGINTJdbcTypeBINARYJdbcTyp
2022-05-26

盘点MySQL数据库的数据类型、库和表常见操作、索引、视图、函数等知识点

在日常开发中,存储数据的最常用的方式便是数据库了,其中最为著名的便是MySQL数据库,因它简便易于上手而且可扩展性强大,跨平台使得它广为使用。

liquibase中不同数据库之间的数据类型对应关系是什么

今天小编给大家分享一下liquibase中不同数据库之间的数据类型对应关系是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧
2023-06-26

C#有哪些常见的数据类型和控制结构

C#具有许多常见的数据类型和控制结构。以下是其中一些常用的示例:数据类型:整数类型:int、long、short、byte等浮点数类型:float、double、decimal等字符类型:char布尔类型:bool字符串类型:string数
2023-10-22

Oracle中几种常见的数据库错误类型及处理方法

目录1. 数据库连接错误示例:mysql数据库连接错误2. 数据库表锁定示例:MySQL表锁定3. 数据库表损坏示例:MySQL表损坏4. 数据库空间不足示例:oracle数据库空间不足5. 权限不足示例:MySQL权限不足6. SQL语法
Oracle中几种常见的数据库错误类型及处理方法
2024-09-26

SQL Server中数据类型转换的原理、使用方法、常见场景示例讲解

目录1. 数据类型转换的概述1.1 隐式转换示例:隐式转换输出:1.2 显式转换示例:显式转换输出:2. 使用 CAST 函数进行转换2.1 基本语法2.2 CAST 转换示例2.2.1 将整javascript数转换为字符串输出:2.2.
SQL Server中数据类型转换的原理、使用方法、常见场景示例讲解
2024-09-22

编程热搜

目录