【新星计划2023】SQL SERVER (02) -- 数据类型

在这里插入图片描述

【新星计划2023】SQL SERVER -- 数据类型

    • 1. Data Type Categories
    • 2. Exact numerics
      • 2.1 int、bigint、smallint 和 tinyint
        • 2.1.1 介绍
        • 2.1.2 Demo
      • 2.2 decimal 和 numeric
        • 2.2.1 介绍
        • 2.2.2 Demo
      • 2.3 money 和 smallmoney
        • 2.3.1 介绍
        • 2.3.2 Demo
    • 3. Unicode character strings
      • 3.1 nchar 和 nvarchar
      • 3.2 ntext、text 和 image
    • 4. Approximate numerics
      • 4.1 float 和 real
    • 5. Binary strings
      • 5.1 binary 和 varbinary
    • 6. Date and time
      • 6.1 date
        • 6.1.1 sql
      • 6.2 datetime
      • 6.3 datetime2
      • 6.4 datetimeoffset
      • 6.4 smalldatetime
      • 6.4 time
    • 7. Other data types
      • 7.1 cursor(游标)
      • 7.2 hierarchyide
      • 7.3 uniqueidentifier
    • 8. Character strings
      • 8.1 char 和 varchar
    • 10. Awakening


【新星计划2023】SQL SERVER (02) -- 数据类型_第1张图片
【新星计划2023】SQL SERVER (02) -- 数据类型_第2张图片

【新星计划2023】SQL SERVER (02) -- 数据类型_第3张图片


1. Data Type Categories

  • 数据类型主要下面几大类
    Exact numerics(精准数字)
    Unicode character strings(unicode字符串)
    Approximate numerics(近似数字)
    Binary strings(二进制字符串)
    Date and time(时间和日期)
    Other data types(其他)
    Character strings(字符串)
    【新星计划2023】SQL SERVER (02) -- 数据类型_第4张图片

2. Exact numerics

  • 主要包括下面几种类型
    bigint
    numeric
    bit
    smallint
    decimal
    smallmoney
    int
    tinyint
    money

2.1 int、bigint、smallint 和 tinyint

2.1.1 介绍

  • 范围
    【新星计划2023】SQL SERVER (02) -- 数据类型_第5张图片
  • 注意
    int 数据类型是 SQL Server 中的主要整数数据类型 。
    当大于 2147483647 的整数常量将转换为 decimal 数据类型,而不是 bigint 数据类型

2.1.2 Demo

CREATE TABLE dbo.MyTable (  
  MyBigIntColumn BIGINT,
  MyIntColumn INT,
  MySmallIntColumn SMALLINT,
  MyTinyIntColumn TINYINT
);   
GO  
  
INSERT INTO dbo.MyTable VALUES (9223372036854775807, 2147483647,32767,255);  
GO 

2.2 decimal 和 numeric

2.2.1 介绍

  • Notice:
    1.带有小数点的常量将自动转换为 numeric 数据值
    2.从 decimal 或 numeric 转换为 float 或 real 可能会导致精度的一些丢失 。
    3.从 int、smallint、tinyint、float、real、money 或 smallmoney 转换为 decimal 或 numeric 可能导致溢出 。
  • 参数
    在这里插入图片描述
    p(精度)要存储的十进制数字的总数上限。必须是从 1 到最大精度 38 之间的值。 默认精度为 18。
    s(小数位数)小数点右侧存储的十进制数字位数。 从 p 中减去此数字可确定小数点左边的最大位数 。
  • 常规
    0 <= s <= p
    【新星计划2023】SQL SERVER (02) -- 数据类型_第6张图片

2.2.2 Demo

CREATE TABLE dbo.MyTable (  
  MyDecimalColumn DECIMAL(5,2),
  MyNumericColumn NUMERIC(10,5)
);  
  
GO  
INSERT INTO dbo.MyTable VALUES (123, 12345.12);  
GO  

2.3 money 和 smallmoney

2.3.1 介绍

  • money 和 smallmoney 数据类型精确到它们所代表的货币单位的万分之一。
    【新星计划2023】SQL SERVER (02) -- 数据类型_第7张图片

2.3.2 Demo

【新星计划2023】SQL SERVER (02) -- 数据类型_第8张图片

3. Unicode character strings

  • 主要包括下面几种类型
    nchar
    nvarchar
    ntext

3.1 nchar 和 nvarchar

  • nchar是固定大小字符数据, n 用于定义字符串大小(以双字节为单位),并且它必须是 1 到 4,000 之间的值。
  • nvarchar是可变大小字符串数据。 n 用于定义字符串大小(以双字节为单位),并且它可能是 1 到 4,000 之间的值。
  • 注意
    如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。
    如果没有使用 CAST 函数指定 n,则默认长度为 30。
  • 建议
    如果列数据项的大小一致,则使用 nchar。
    如果列数据项的大小差异相当大,则使用 nvarchar。
    如果列数据项大小相差很大,而且字符串长度可能超过 4,000 双字节,请使用 nvarchar(max)。

3.2 ntext、text 和 image

  • 参数
    【新星计划2023】SQL SERVER (02) -- 数据类型_第9张图片
  • 对应函数
    【新星计划2023】SQL SERVER (02) -- 数据类型_第10张图片

4. Approximate numerics

  • 主要包括下面几种类型
    float
    real

4.1 float 和 real

  • 用于表示浮点数值数据的大致数值数据类型。 浮点数据为近似值;
    【新星计划2023】SQL SERVER (02) -- 数据类型_第11张图片

5. Binary strings

  • 主要包括下面几种类型
    binary
    varbinary
    image

5.1 binary 和 varbinary

  • 参数
    【新星计划2023】SQL SERVER (02) -- 数据类型_第12张图片

6. Date and time

  • 主要包括下面几种类型
    date
    datetime
    datetime2
    time
    smalldatetime
    datetimeoffset
    【新星计划2023】SQL SERVER (02) -- 数据类型_第13张图片

6.1 date

  • 介绍
    YYYY-MM-DD【新星计划2023】SQL SERVER (02) -- 数据类型_第14张图片

6.1.1 sql

SELECT   
     CAST('2007-05-08 12:35:29. 1234567 +12:15' AS time(7)) AS 'time', 
     CAST('2007-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date',   
     CAST('2007-05-08 12:35:29.123' AS smalldatetime) AS 'smalldatetime'   
     CAST('2007-05-08 12:35:29.123' AS datetime) AS 'datetime', 
     CAST('2007-05-08 12:35:29. 1234567 +12:15' AS datetime2(7)) AS 'datetime2', 
     CAST('2007-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS 'datetimeoffset';   

【新星计划2023】SQL SERVER (02) -- 数据类型_第15张图片

6.2 datetime

  • 介绍
    YYYY-MM-DD hh:mm:ss.997
    【新星计划2023】SQL SERVER (02) -- 数据类型_第16张图片

6.3 datetime2

  • 介绍
    YYYY-MM-DD hh:mm:ss.9999999
    【新星计划2023】SQL SERVER (02) -- 数据类型_第17张图片

6.4 datetimeoffset

  • 介绍
    YYYY-MM-DD hh:mm:ss.9999999
    【新星计划2023】SQL SERVER (02) -- 数据类型_第18张图片
  • 精度
    【新星计划2023】SQL SERVER (02) -- 数据类型_第19张图片

6.4 smalldatetime

  • 介绍
    YYYY-MM-DD hh:mm:ss
    【新星计划2023】SQL SERVER (02) -- 数据类型_第20张图片

6.4 time

  • 介绍
    hh:mm:ss.9999999
    【新星计划2023】SQL SERVER (02) -- 数据类型_第21张图片
  • 精度
    【新星计划2023】SQL SERVER (02) -- 数据类型_第22张图片

7. Other data types

  • 主要包括下面几种类型
    cursor
    hierarchyide
    roweversion
    uniqueidentifier
    table
    xml
    sqk_variant

7.1 cursor(游标)

【新星计划2023】SQL SERVER (02) -- 数据类型_第23张图片

7.2 hierarchyide

【新星计划2023】SQL SERVER (02) -- 数据类型_第24张图片

7.3 uniqueidentifier

【新星计划2023】SQL SERVER (02) -- 数据类型_第25张图片

8. Character strings

  • 主要包括下面几种类型
    char
    varchar
    text

8.1 char 和 varchar

  • 字符数据类型 char(大小固定)或 varchar(大小可变)
    【新星计划2023】SQL SERVER (02) -- 数据类型_第26张图片
    【新星计划2023】SQL SERVER (02) -- 数据类型_第27张图片

10. Awakening

     在一秒钟内看到本质的人和花半辈子也看不清一件事本质的人,自然是不一样的命运。

在这里插入图片描述

你可能感兴趣的:(Sql,Server,数据库,c#,sql)