类型
描述
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#中的什么类型、时间在数据库里用什么形式保存等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)