• SQL server常见数据类型的了解


         大体的分为 字符,2进制,数值,日期,其他类型

    字符

    char 是定长的。如char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。

    varchar(n) 包含 n 个字节的可变长度且非 Unicode 的字符数据。n 的值(1 - 8,000),存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。
    nvarchar(n) 包含 n 个字符的可变长度 Unicode 字符数据。n 的值(1 - 4,000),字节的存储大小是输入字符个数的两倍。输入的数据字符长度可以是零。       

    从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。

    一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar。

    2进制
    bit   允许 0、1 或 NULL     
    binary(n)   固定长度的二进制数据。最多 8,000 字节。     
    varbinary(n)   可变长度的二进制数据。最多 8,000 字节。     
    varbinary(max)   可变长度的二进制数据。最多 2GB 字节。     
    image   可变长度的二进制数据。最多 2GB。  
    数值型
    tinyint   允许从 0 到 255 的所有数字。   1 字节  
    smallint   允许从 -32,768 到 32,767 的所有数字。   2 字节  
    int   允许从 -2,147,483,648 到 2,147,483,647 的所有数字。   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 字节  
    日期型
    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 变量。  

       

  • 相关阅读:
    python爬取代理IP地址
    神经网络训练的过程
    机器学习中用到的数学概念
    Navicat连接Mysql错误代码1251
    mysql安装
    mysql运行找不到MSVCP140.dll
    tomcat 日志乱码
    扁平化 Flat
    常见的WEB安全及防护
    CentOS ceph 集群搭建(单节点)
  • 原文地址:https://www.cnblogs.com/mingzhu9284/p/4390261.html
Copyright © 2020-2023  润新知