用数据库进行数据插入时,常常会碰到这样的问题
错误源:.Net SqlClient Data Provider
错误信息:将截断字符串或二进制数据
语句已终止
多数情况下错误的原因是:输入的字符串长度超出了定义的长度
下面就来探讨下sqlserver中,各个数据类型的具体含义
1 int:从-2^31 到2^31 -1 的整数数据,存储大小为八个字节
2 smallint:从-2^15到2^15 -1 的整数书局,存储大小为两个字节
3 tinyint: 从0到255的整数数据,存储大小为一个字节
4 bit:1或0的整数数据 存储大小为1个字节
5 char: 索引效率高,存储方便,比如定义char(5),无论你存储的数据是否达到5个字节,都会占去5个字节,不足的用空格填充
6 varchar 存储变长数据,保存到空间是实际长度+1,比如varchar(10),表示最大长度是11,存储10个字节一下的数据,有时候难以控制
7 text 用于存储课可长度的非unicode 数据,最大长度为2^31-1(2,147,483,647)个字符
8 nchar、nvarchar、ntext
它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。
SQL Server 提供了 25 种数据类型:
二进制数据包括 Binary、Varbinary 和 Image.
Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。
Binary[(N)] 是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n + 4 个字节。
Varbinary[(N)] 是 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n + 4个字节,不是 n 个字节。
在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server 解释的,必须由应用程序来解释。例如,应用程序可以使用 BMP、TIEF、GIF 和 JPEG 格式把数据存储在 Image 数据类型中。
(2)字符数据类型
字符数据的类型包括 Char,Varchar 和 Text。
字符数据是由任何字母、符号和数字任意组合而成的数据。
Varchar 是变长字符数据,其长度不超过 8KB。Char 是定长字符数据,其长度最多为 8KB。超过 8KB 的ASCII 数据可以使用Text 数据类型存储。例如,因为 Html 文档全部都是 ASCII 字符,并且在一般情况下长度超过 8KB,所以这些文档可以 Text 数据类型存储在 SQL Server 中。
(3)Unicode 数据类型
Unicode 数据类型包括 Nchar,Nvarchar 和Ntext。
在 Microsoft SQL Server 中,传统的非 Unicode 数据类型允许使用由特定字符集定义的字符。在 SQL Server 安装过程中,允许选择一种字符集。使用 Unicode 数据类型,列中可以存储任何由Unicode 标准定义的字符。在 Unicode 标准中,包括了以各种字符集定义的全部字符。使用Unicode 数据类型,所战胜的窨是使用非 Unicode 数据类型所占用的窨大小的两倍。
在 SQL Server 中,Unicode 数据以 Nchar、Nvarchar 和 Ntext 数据类型存储。使用这种字符类型存储的列可以存储多个字符集中的字符。当列的长度变化时,应该使用 Nvarchar 字符类型,这时最多可以存储 4000 个字符。当列的长度固定不变时,应该使用 Nchar 字符类型,同样,这时最多可以存储 4000 个字符。当使用 Ntext 数据类型时,该列可以存储多于 4000 个字符。
(4)日期和时间数据类型
日期和时间数据类型包括 Datetime 和 Smalldatetime 两种类型。
日期和时间数据类型由有效的日期和时间组成。例如,有效的日期和时间数据包括"4/01/98 12:15:00:00:00 PM"和"1:28:29:15:01 AM 8/17/98"。前一个数据类型是日期在前,时间在后一个数据类型是霎时间在前,日期在后。在 Microsoft SQL Server 中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型时,所存储的日期范围是从 1753 年 1 月 1 日开始,到 9999 年12 月 31 日结束(每一个值要求 8 个存储字节)。使用 Smalldatetime 数据类型时,所存储的日期范围是 1900 年 1 月 1日 开始,到 2079 年 12 月 31 日结束(每一个值要求 4 个存储字节)。
日期的格式可以设定。设置日期格式的命令如下:
Set DateFormat {format | @format _var|
其中,format | @format_var 是日期的顺序。有效的参数包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默认情况下,日期格式为 MDY。
例如,当执行 Set DateFormat YMD 之后,日期的格式为年 月 日 形式;当执行 Set DateFormat DMY 之后,日期的格式为 日 月有年 形式
(5)数字数据类型
数字数据只包含数字。数字数据类型包括正数和负数、小数(浮点数)和整数 。
整数由正整数和负整数组成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整数存储的数据类型是 Int,Smallint 和 Tinyint。Int 数据类型存储数据的范围大于 Smallint 数据类型存储数据的范围,而 Smallint 据类型存储数据的范围大于 Tinyint 数据类型存储数据的范围。使用 Int 数据狗昔存储数据的范围是从 -2 147 483 648 到 2 147 483 647(每一个值要求 4个字节存储空间)。使用 Smallint 数据类型时,存储数据的范围从 -32 768 到 32 767(每一个值要求2个字节存储空间)。使用 Tinyint 数据类型时,存储数据的范围是从0 到255(每一个值要求1个字节存储空间)。
精确小娄数据在 SQL Server 中的数据类型是 Decimal 和 Numeric。这种数据所占的存储空间根据该数据的位数后的位数来确定。
在SQL Server 中,近似小数数据的数据类型是 Float 和 Real。例如,三分之一这个分数记作。3333333,当使用近似数据类型时能准确表示。因此,从系统中检索到的数据可能与存储在该列中数据不完全一样。
(6)货币数据表示正的或者负的货币数量 。在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney。Money 数据类型要求 8 个存储字节,Smallmoney 数据类型要求 4 个存储字节。
(7)特殊数据类型
特殊数据类型包括前面没有提过的数据类型。特殊的数据类型有3种,即 Timestamp、Bit 和 Uniqueidentifier。
Timestamp 用于表示SQL Server 活动的先后顺序,以二进投影的格式表示。Timestamp 数据与插入数据或者日期和时间没有关系。
Bit 由 1 或者 0 组成。当表示真或者假、ON 或者 OFF 时,使用 Bit 数据类型。例如,询问是否是每一次访问的客户机请求可以存储在这种数据类型的列中。
Uniqueidentifier 由 16 字节的十六进制数字组成,表示一个全局唯一的。当表的记录行要求唯一时,GUID是非常有用。例如,在客户标识号列使用这种数据类型可以区别不同的客户。
分享到:
相关推荐
今天,我们将总结数据库中常用的数据类型转换,包括整数、浮点数、字符串、字符等类型的转换。 首先,让我们来看一下整数类型的转换。整数类型在数据库中通常以整数形式存储,而在应用程序中可能需要将其转换为字符...
总结来说,深入理解数据库系统的数据类型,可以帮助我们优化数据表结构,有效利用存储空间,提高查询性能。在设计数据库时,应根据实际需求,仔细选择合适的数据类型,以实现最佳的数据管理策略。对于小型项目到大型...
本研究主要研究多媒体数据处理的方法,着重介绍了多媒体数据库的概念和特点,并以SQL数据库为例总结了多媒体的数据压缩和解码技术。 数据库是按照数据结构来组织、存储和管理数据的仓库。常用的数据库有DB2、Oracle...
### 数据库常用命令知识点 #### 一、创建数据库与表 **知识点1:创建数据库** 在MySQL中,创建数据库是一项基本操作。以下是两种常见的创建数据库的方法: - `CREATE DATABASE 数据库名称;` —— 用于创建一个新...
MySQL数据库常用命令汇总 MySQL数据库是目前最流行的开源关系数据库管理系统,它提供了...本文总结了MySQL数据库常用的命令,包括数据库操作、表操作和数据操作三部分,希望能够帮助读者更好地理解和使用MySQL数据库。
根据给定文件的信息,我们可以将其中涉及的重要数据库语言知识点归纳...以上是对给定文件中提到的各种数据库语言知识点的详细总结与解释。通过掌握这些核心概念和技术,可以帮助你在实际工作中更高效地管理和操作数据。
在`基本数据类型mysql.sql`中,我们可以看到MySQL支持以下常见数据类型: - **整型(Integer)**: 包括TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT。 - **浮点型(Floating Point)**: 如FLOAT、DOUBLE...
在VB(Visual Basic)编程中,利用图表来调用并显示数据库中的数据是一种常见的数据分析和可视化方法。这个“VB利用图表调用并显示数据库中的数据”项目,通过创建图表,可以直观地展示每个学生历次考试的成绩以及...
MySQL数据库常用单词总结 本资源摘要信息将涵盖MySQL数据库的基础知识、约束、单表、多表、事务管理和权限控制等方面的重要概念和操作命令。 一、数据库定义语言(DDL) * `IF NOT EXISTS`:用于创建数据库或表,...
数据库原理与应用课程总结主要涵盖了数据库的理论知识和SQL Server 2000的实践操作。理论知识部分包括基础篇、设计篇和系统篇。基础篇着重于数据库的基础概念,如信息、数据、数据处理,以及数据库、数据库管理系统...
根据提供的标题、描述以及部分内容,我们可以总结出一系列MySQL数据库中的常用命令及操作。MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),因其高效性、可靠性和灵活性而在多种应用场景中受到青睐。下面将...
以下是对【标题】"常用数据库设计技巧总结"和【描述】中提到的一些关键知识点的详细解释: 1. **关系类型**:数据库中的实体关系可以分为一对一、一对多和多对多。通常,原始单据与实体对应一对一关系,但在特定...
在SQL Server 2008中,数据类型是数据库设计的核心元素之一,它们决定了存储数据的格式、范围和精度。本文将深入探讨SQL Server 2008中的各种数据类型,帮助你理解如何根据需求选择合适的数据类型。 首先,我们可以...
本文将对数据库面试常用问题进行整理和总结,涵盖事务、并发一致性问题、封锁、关系数据库设计理论、ER 图、索引等多个方面。 1. 事务 事务是一组操作的集合,满足 ACID 特性,即原子性(Atomicity)、一致性...
Oracle 和 SQL 数据类型是数据库管理系统中用于定义和存储数据的基础组件。它们决定了数据的结构、大小以及如何进行处理。以下是两种数据库系统中主要数据类型的详细比较: **Oracle 数据类型** 1. **Char**: Char...
实体是客观存在并可以相互区分的事物,属性是实体所具有的某一特性,码是惟一标识实体的属性集,域是一组具有相同数据类型的值的集合,实体型是具有相同属性的实体的抽象和刻画,实体集是同型实体的集合。...
以上介绍了Oracle数据库中常用的几种数据类型及其特点。正确选择和使用数据类型对于提高数据库性能、节省存储空间以及确保数据准确性至关重要。理解并掌握这些数据类型的基本概念和使用方法,可以帮助开发者更高效地...
根据给定的文件标题、描述、标签以及部分内容,下面将对数据库原理各章节涉及的关键知识点进行详细的总结与解析。 ### 数据库系统工程师:数据库原理各章节简答题总结 #### 第一章:数据库基本概念 **1. 数据库的...
总结来说,将xls中的数据写入数据库涉及文件读取、数据预处理、数据库连接、SQL语句构造和执行等多个环节,需要对编程语言、数据处理以及数据库操作有深入的理解。通过合理地运用各种工具和技术,可以有效地完成这项...