SQL详细举例子说明下面这些数据类型有什么用

SQL详细举例子说明下面这些数据类型有什么用,第1张

数据类型

类型

描述

Bit

整型

Bit数据类型是整型,其值只能是0,1或空值(NULL)。这种数据类型用于存储只有两种可能值的数据,如Yes或No,True或False,On或Off等

Int

整型

Int数据类型可以存储-231 (-2147483648)¬231(2147483648) 的整数。存储到数据库的几乎所有数值型的数据,都可以用这种数据类型。这种数据类型在数据库里占用4个字节

Smallint

整型

Smallint 数据类型可以存储从-215(-32768)¬215(32767) 之间的整数。这种数据类型在数据库里占用2个字节

Tinyint

整型

Tinyint 数据类型能存储从0¬255之间的整数。它在存储有限数目的数值是很有用。这种数据类型在数据库中占用1个字节

Decimal

精确数值型

Decimal 数据类型能用来存储从-1038-1¬1038-1的固定精度和范围数值型数据。使用这种数据类型时,必须指定范围和精度。范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字怕位数

Numeric

精确数值型

Numeric 数据类型与decimal 型相同

Money

货币型

Money 数据类型用来表示线和货币值。这种数据类型能存储从-9220亿¬9220亿之间的数据,精确到货币单位的万分之一

Float

近似数值型

Float 数据类型是一种近似数值类型。说浮点是近似的,是因为在其范围内不是所有的数都能精确表示。浮点数可以是从-179E+308¬179E+308之间的任意数

Real

近似数值型

Real 数据类型像浮点数一样,是近似数值类型。它可以表示数值在-340E+38¬340E+38之间的浮点数

Datetime

日期时间

Datetime 数据类型用来表示日期和时间。这种数据类型存储从1753年1月1日¬9999年12月31日间所有的日期和时间数据

Smalldatetime

日期时间型

Smalldatetime 数据类型用来表示从1900年1月1日¬2079年6月6日间的日期和时间。

Timestamp

特殊数据型

Timestamp 数据类型是一种特殊的数据库类型,用来创建一个数据库范围内的唯一数码。一个表中只能有一个timestamp 列。每次插入或修改一行时,timestamp 列的值都会改变。尽管它的名字中有time, 但timestamp 列不是人们可识别的日期。在一个数据库里, timestamp 值是唯一的

Uniqueidentifier

特殊数据型

Uniqueidentifier 数据类型用来存储一个全局唯一标识符,即GUID。GUID确实是全局唯一的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID函数转换一个字符串为唯一标识符来初始化具有唯一标识符的列

Char

字符型

Char 数据类型用来存储指定长度非统一编码的数据。当定义一列为此类型时,必须指定列长。此数据类型很有用。此数据类型的列宽最大为8000个字符

Varchar

字符型

Varchar 数据类型,同char 类型一样,用来存储非统一编码型字符数据时,需要指定该列的最大长度。

Text

字符型

Text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符

Nchar

统一编码字符型(Unicode)

Nchar 数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而不是用单字节(普通文本的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间加一倍

Ntext

统一编码字符型(Unicode)

Ntext 数据类型用来存储大量的统一编码字符型 数据。这种数据类型能存储230-1或将近10亿个字符,且使用的字节空间增加了一倍

Binary

二进制数据类型

Binary 数据类型用来存储可达8000字节长的二进制数据

Image

二进制数据类型

Image 数据类型用来存储变长的二进制数据,最大可达231-1或大约20亿字节

数据库数据类型在C#中的对应

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

public string ParaChange(string strFlg)

{

switch (strFlgToLower())

{

case "bigint": return "Int64";

case "binary": return "Byte[]";

case "bit": return "Boolean";

case "char": return "String";

case "date": return "String";

case "datetime": return "DateTime";

case "datetime2": return "String";

case "datetimeoffset": return "String";

case "decimal": return "Decimal";

case "float": return "Double";

case "geography": return "Byte[]";

case "geometry": return "Byte[]";

case "hierarchyid": return "Byte[]";

case "image": return "Byte[]";

case "int": return "Int32";

case "money": return "Decimal";

case "nchar": return "String";

case "ntext": return "String";

case "numeric": return "Decimal";

case "nvarchar": return "String";

case "real": return "Single";

case "smalldatetime": return "DateTime";

case "smallint": return "Int16";

case "smallmoney": return "Decimal";

case "sql_variant": return "Object";

case "text": return "String";

case "time": return "String";

case "timestamp": return "Byte[]";

case "tinyint": return "Byte";

case "uniqueidentifier": return "Guid";

case "varbinary": return "Byte[]";

case "varchar": return "String";

case "xml": return "String";

default: return "Object";

}

}

Oracle数据库

数据类型为 DATE

包含 世纪、年、月、日、时、分、秒。

占用7 个字节,上面每个部分1 个字节

SQL Server 2005 以前版本

包含两种数据类型:

smalldatetime

占用4 字节,范围1900-1-1~2079-6-6 精度到¡ 分¡

datetime

占用8 字节,范围1753-1-1~9999-12-31 精度到 百分之三秒

SQL Server 2008 新增

time 00:00:000000000 到 23:59:599999999

固定 5 个字节,是使用默认的 100ns 秒的小数部分精度时的默认存储大小。

date 0001-01-01 到 9999-12-31

固定 3 个字节

datetime2

日期范围 0001-01-01 到 9999-12-31

时间范围 00:00:00 到 23:59:599999999

精度小于 3 时为 6 个字节;精度为 3 和 4 时为 7 个字节。

datetimeoffset

日期范围 0001-01-01 到 9999-12-31

时间范围 00:00:00 到 23:59:599999999

时区偏移量范围 -14:00 到 +14:00

默认值为 10 个字节的固定大小,默认的秒的小数部分精度为100ns

MySQL

DATE

日期。支持的范围为'1000-01-01'到'9999-12-31'

DATETIME

日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。

TIMESTAMP[(M)]

时间戳。范围是'1970-01-01 00:00:00'到2037 年

TIME

时间。范围是'-838:59:59'到'838:59:59'。

YEAR[(2|4)]

两位或四位格式的年。默认是四位格式。

 在SQL2005中有日期/时间或SMALLDATETIME数据类型的存储日期/时间,但没有具体的数据存储的日期或时间。此外,搜索功能相对于SMALLDATETIME日期/时间等只用一个字段的数据值,没有提供对应的条款。例如下面的SQL查询在SQL server 2005中 你只有指定日期值才能搜索到。

SELECT FROM tblMyDate Where [MyDateTime] = '2010-12-11'

使它工作,你需要指定日期和时间才能进行搜索

SELECT FROM tblMyDate Where [MyDateTime] = '2010-12-11 11:00 PM'

而在SQL Server 2008年随着数据的更新以上问题得到了解决。看下面的例子。

DECLARE @mydate as DATE

SET @ mydate = getdate()

PRINT @dt

从上面的输出的SQL查询是目前日期(2010-12-11),没有时间组件加上输出。

时间数据类型也在SQL server 2008中有介绍。看看以下的查询使用时间数据类型。

DECLARE @mytime as TIME

SET @mytime = getdate ()

PRINT @mytime

上面的输出的时间是SQL脚本值。时间数据类型的范围是00:00:000000000 23:59:599999999。

SQL server 2008还引进了一种新的数据类型称为DATETIME2。在这个数据类型,你将有一个选项,可以指定数量的分数(最低0和最大7)。下面的例子演示了如何使用DATETIME2数据类型。

DECLARE @mydate7 DATETIME2 (7)

SET @mydate7 = Getdate()

PRINT @mydate7

上面的结果是2010-12-11 22:11:197030000。

新DATETIMEOFFSET数据类型,用以了解时区,日期和时间,在此只对SQL Server 2008进行了简要的介绍。在应用这种类型的时候你需要保持SQL服务器不同国家、不同的时区时间价值。下面的例子使用了DATETIMEOFFSET显示的数据类型。

DECLARE @mydatetime DATETIMEOFFSET(0)

DECLARE @mydatetime1 DATETIMEOFFSET(0)

SET @ mydatetime = '2010-12-11 21:53:56 +5:00'

SET @ mydatetime1 = '2010-12-11 21:53:56 +10:00'

SELECT DATEDIFF(hh,@mydatetime1,@mydatetime)

以上就是关于SQL详细举例子说明下面这些数据类型有什么用全部的内容,包括:SQL详细举例子说明下面这些数据类型有什么用、sql server 2008中的geography 数据类型对应c#中的什么类型、时间在数据库里用什么形式保存等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9488626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存