zoukankan      html  css  js  c++  java
  • SQL Server 中的25种数据类型

    二进制类型

    1、Binary[(n)]

    为固定的二进制,n的取值范围为1-8000

    2、Varbinary

    为可变长度的二进制,n的取值范围为1-8000

    3、Image
    可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节

    字符数据类型

    4、Char

    定长字符数据,最大不超过8KB

    5、Varchar

    可变长字符数据,最大不超过8KB

    6、Text

    text最多为2^31减去1个符号
    Unicode数据类型

    Unicode数据1个字符占2个字节空间,比较占空间,

    非Unicode数据据1个字符占1个字节空间

    Unicode标准是国际通用的

    7、Nchar

    长度固定不变,最大为4000字符

    8、Nvarchar

    长度可变,最大为4000字符

    9、Ntext

    长度固定不变,最大长度为 230 - 1 (1,073,741,823) 个字符 

    日期和时间数据类型

    10、DateTime

    set DateFormat|日期顺序,可为DMY,DYM,MDY,MYD,YDM,YMD

    默认为MDY

    11、Smalldatetime

    短时间类型,只显示年月日

    数字数据类型

    12、Int

    范围为 -2 147 483 648 到 2 147 483 647(每一个值要求4个字节存储空间)

    13、Tinyint

    存储数据的范围是从0 到255(每一个值要求1个字节存储空间)

    14、Smallint

    存储数据的范围从 -32 768 到 32 767(每一个值要求2个字节存储空间)

    15、Decimal

    精确小数数据,数据所占的存储空间根据该数据的位数后的位数来确定

    16、Numeric

    精确小数数据,数据所占的存储空间根据该数据的位数后的位数来确定

    17、Float

    当使用近似数据类型时能准确表示。因此,从系统中检索到的数据可能与存储在该列中数据不完全一样

    18、Real

    当使用近似数据类型时能准确表示。因此,从系统中检索到的数据可能与存储在该列中数据不完全一样、

    19、Money

    Money数据类型要求 8 个存储字节

    20、Smallmoney

    Smallmoney 数据类型要求 4 个存储字节

    特殊数据类型

    21、Timestamp

     用于表示SQL Server 活动的先后顺序,以二进投影的格式表示。Timestamp 数据与插入数据或者日期和时间没有关系

    22、Bit

     由 1 或者 0 组成。当表示真或者假、ON 或者 OFF 时,使用 Bit 数据类型。

    23、Uniqueidentifier

    由 16 字节的十六进制数字组成,表示一个全局唯一的。当表的记录行要求唯一时,GUID是非常有用

    24、用户定义的数据类型

    用户定义的数据类型基于在 Microsoft SQL Server 中提供的数据类型。当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。例如,可定义一种称为 postal_code 的数据类型,它基于 Char 数据类型。

    25、sysname 数据类型用于表列、变量以及用于存储对象名的存储过程参数。sysname 的精确定义与标识符规则有关。因此,它可能会因 SQL
    Server 实例的不同而有所不同。除了 sysname 在默认情况下为 NOT NULL 之外,sysname 的功能与
    nvarchar(128) 相同。在早期版本的 SQL Server 中,sysname 被定义为 varchar(30)
    这个可
    以在一些系统表中看到(如sysobjects表的name字段就是sysname类型的)的,因此sysname类型直接决定了tablename的字
    符空间,如6.5之前的表名不支持中文,而2000以后的表名就支持中文,就是因为sysname再两个版本中的含义不一样
    table_name、
    column_name等可以是由用户自己输入的符合sysname类型的的数据,说明这些名称是sysname类型的,因此,这些名称你可以使用
    nvarchar(128)的任意字符串;而数据类型(如column1_datatype)、主键标示(如columns_in_primary_key)等就不是sysname类型的,区别就在这里

    25、cursor
        这是变量或存储过程 OUTPUT 参数的一种数据类型,这些参数包含对游标的引用。使用 cursor 数据类型创建的变量可以为空。
        有些操作可以引用那些带有 cursor 数据类型的变量和参数,这些操作包括:
    DECLARE @local_variable 和 SET @local_variable 语句。
    OPEN、FETCH、CLOSE 及 DEALLOCATE 游标语句。
    存储过程输出参数。
    CURSOR_STATUS 函数。
    sp_cursor_list、sp_describe_cursor、sp_describe_cursor_tables 以及 sp_describe_cursor_columns 系统存储过程。
      #重要  对于 CREATE TABLE 语句中的列,不能使用 cursor 数据类型。

  • 相关阅读:
    java入门第一篇:h5和CSS的基础学习及思考。
    Dubbo-入门到精通(一)
    跳表(skipList)的原理和java实现
    Springboot
    zookeeper 常用命令及znode简介
    Zookeeper 实现分布式锁服务
    Golang 基础
    ipython notebook 如何修改一开始打开的文件夹路径
    Loadrunner11配置Jdk,以及是否成功配置验证
    Redis学习
  • 原文地址:https://www.cnblogs.com/liangyours/p/1821990.html
Copyright © 2011-2022 走看看