zoukankan      html  css  js  c++  java
  • SQL Server 数据类型详解

    引言

    SQL Server是我们日常工作中经常用到的数据库,也是商业系统运用最广泛的数据库之一。如何构建合理、高效、节省空间的数据库?是非常考验程序的基本功底,因为数据库是程序的根基,直接影响着系统效率及扩展。本文详细介绍了SQL Server中数据类型。

    Character 字符串

    数据类型描述存储
    char(n)

    固定长度的字符串。最多 8,000 个字符。

    当定义一列为此类型时,你必须指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。

    n
    varchar(n)

    可变长度的字符串。最多 8,000 个字符。

    当定义一列为该数据类型时,你要指定该列的最大长度。 它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度。

     
    varchar(max) 可变长度的字符串。最多 1,073,741,824 个字符。  
    text 可变长度的字符串。最多 2GB 字符数据。  

    Unicode 字符串

    数据类型描述存储
    nchar(n)

    固定长度的 Unicode 数据。最多 4,000 个字符。

    统一编码用双字节结构来存储每个字符,而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。

     
    nvarchar(n) 可变长度的 Unicode 数据。最多 4,000 个字符。  
    nvarchar(max) 可变长度的 Unicode 数据。最多 536,870,912 个字符。  
    ntext 可变长度的 Unicode 数据。最多 2GB 字符数据。  

    Binary 类型

    数据类型描述存储
    bit

    允许 0、1 或 NULL。

    这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或False 、On 或Off 。

    注意:很省空间的一种数据类型,如果能够满足需求应该尽量多用。 

     
    binary(n) 固定长度的二进制数据。最多 8,000 字节。  
    varbinary(n) 可变长度的二进制数据。最多 8,000 字节。  
    varbinary(max) 可变长度的二进制数据。最多 2GB 字节。  
    image 可变长度的二进制数据。最多 2GB。  

    Number 类型

    数据类型描述存储
    tinyint

    允许从 0 到 255 的所有数字。

    它在你只打算存储有限数目的数值时很有用。这种数据类型在数据库中占用1 个字节。

    注意:如果bit类型太单调不能满足您的需求,您可以考虑用tinyint类型,因为这个类型相对也是比较安全的,不接受恶意脚本内容的嵌入。

    1 字节
    smallint 允许从 -32,768 到 32,767 的所有数字。

    种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间。

    注意:如果tinyint类型太单调不能满足您的需求,您可以考虑用smallint类型,因为这个类型相对也是比较安全的,不接受恶意脚本内容的嵌入。 

    2 字节
    int 允许从 -2,147,483,648 到 2,147,483,647 的所有数字。

    存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节. 

    注意:如果smallint也不能够满足您的需求,您可以考虑用长度更大的int类型。

    4 字节
    bigint 允许介于 -9,223,372,036,854,775,808 和 9,223,372,036,854,775,807 之间的所有数字。 8 字节
    decimal(p,s)

    固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。

    p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。

    s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。

    5-17 字节
    numeric(p,s)

    固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。

    p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。

    s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。

    5-17 字节
    smallmoney 介于 -214,748.3648 和 214,748.3647 之间的货币数据。 4 字节
    money 介于 -922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。 8 字节
    float(n) 从 -1.79E + 308 到 1.79E + 308 的浮动精度数字数据。 参数 n 指示该字段保存 4 字节还是 8 字节。float(24) 保存 4 字节,而 float(53) 保存 8 字节。n 的默认值是 53。 4 或 8 字节
    real 从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据。 4 字节

    Date 类型

    数据类型描述存储
    datetime 从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。 8 bytes
    datetime2 从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。 6-8 bytes
    smalldatetime 从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。 4 bytes
    date 仅存储日期。从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。 3 bytes
    time 仅存储时间。精度为 100 纳秒。 3-5 bytes
    datetimeoffset 与 datetime2 相同,外加时区偏移。 8-10 bytes
    timestamp 存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp 基于内部时钟,不对应真实时间。每个表只能有一个 timestamp 变量。  

    其他数据类型

    数据类型描述
    sql_variant 存储最多 8,000 字节不同数据类型的数据,除了 text、ntext 以及 timestamp。
    uniqueidentifier 存储全局标识符 (GUID)。
    xml 存储 XML 格式化数据。最多 2GB。
    cursor 存储对用于数据库操作的指针的引用。
    table 存储结果集,供稍后处理。
  • 相关阅读:
    浅析C#中的套接字编程
    在 C# 中通过 P/Invoke 调用Win32 DLL
    读书笔记c#高级编程 委托和事件
    如何将 .net framework 打包进 msi安装包,使得安装时自动安装
    自实现input上传指定文件到服务器
    Thrift初探:简单实现C#通讯服务程序
    C# 使用NLog记录日志
    C# winform程序怎么打包成安装项目(图解)
    VUE3.0+Vant VS Code入门教程
    WCF入门教程2——创建第一个WCF程序
  • 原文地址:https://www.cnblogs.com/aizai846/p/11264041.html
Copyright © 2011-2022 走看看