• SqlServer2012学习


    精确数字:

    1、整数

    int是Sql Server主要整数类型。tinyint,smallint,int 不会自动转成bigint。

    大于 2,147,483,647 的整数常量将转换为 decimal 数据类型,而不是 bigint 数据类型。

    2、bit

    可以取值为1、0或NULL的integer数据类型。

    字符串值 TRUE 和 FALSE 可转换为 bit 值:TRUE 将转换为 1,FALSE 将转换为 0。

    转换为 bit 会将任何非零值升为 1。

    3、decimal[(p[,s])]和 numeric[(p[,s])]

    固定精度和小数位数。 使用最大精度时,有效值的范围为 - 10^38 +1 到 10^38 - 1。

     decimal 的 ISO 同义词为 dec 和 dec(p、s)。 numeric在功能上等价于 decimal。

    decimal(5,5)和decimal(5,0)为不同数据类型。

    常量 12.345 将被转换为精度为 5,小数位数为 3 的 numeric 值。

    默认情况下,将数字转换为较低精度和小数位数的 decimal 或 numeric 值时,SQL Server 会进行舍入。 但如果 SET ARITHABORT 选项为 ON,则发生溢出时,SQL Server 会产生错误。 若仅降低精度和小数位数,则不会产生错误。

    4、货币(值)数据类型

     money 和 smallmoney 数据类型精确到它们所代表的货币单位的万分之一。

    近似数字:

    5、float和real

    用于表示浮点数值数据的大致数值数据类型。 浮点数据为近似值。real 的 ISO 同义词为 float(24)

    SQL Server 将 n 视为下列两个可能值之一。 如果 1<=n<=24,则将 n 视为 24 如果 25<=n<=53,则将 n 视为 53

     日期和时间

    6、date datetimedatetime2datetimeoffsetsmalldatetime ime

    对于新的工作,请使用 time、date、datetime2 和 datetimeoffset 数据类型。 这些类型符合 SQL 标准。 它们更易于移植。

     time、datetime2 和 datetimeoffset 提供更高精度的秒数。 datetimeoffset 为全局部署的应用程序提供时区支持。

    将一个字符串转换为各种日期类型结果如下:

    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';

     

    普通字符串

    7、char[(n)]和varchar[(n|max)]

     n 用于定义字符串长度,并且它必须为 1 到 8,000 之间的值,

     如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。 如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30

    • 如果列数据项的大小一致,则使用 char。

    • 如果列数据项的大小差异相当大,则使用 varchar。

    • 如果列数据项大小相差很大,而且大小可能超过 8,000 字节,请使用 varchar(max)。

    8、ntext ext和image

    在 Microsoft SQL Server 的未来版本中将删除 ntext、text 和 image 数据类型。 

    请避免在新开发工作中使用这些数据类型,并考虑修改当前已使用这些数据类型的应用程序。 请改用 nvarchar(max)varchar(max) 和 varbinary(max)

    Unicode 字符串

    9、nchar[(n)]和nvarchar[(n|max)]

    nchar [ ( n ) ]

    固定长度的 Unicode 字符串数据。 n 用于定义字符串长度,并且它必须为 1 到 4,000 之间的值。 存储大小为 n 字节的两倍。 当排序规则代码页使用双字节字符时,存储大小仍然为 n 个字节。 根据字符串的不同,n 个字节的存储大小可能小于为 n 指定的值。 nchar 的 ISO 同义词为national char 和 national character

    nvarchar [ ( n | max ) ]

    可变长度的 Unicode 字符串数据。 n 用于定义字符串长度,并且它可以为 1 到 4,000 之间的值。 max 指示最大存储大小是 2^31-1 个字节 (2 GB)。 存储大小(以字节为单位)是所输入数据实际长度的两倍 + 2 个字节。 nvarchar 的 ISO 同义词为 national char varying 和 national character varying。

    如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。 如果没有使用 CAST 函数指定 n,则默认长度为 30。

    如果列数据项的大小可能相同,请使用 nchar。

    如果列数据项的大小可能差异很大,请使用 nvarchar。

    二进制字符串

    10、binary[(n)]和varbinary[(n|max)]

    binary [ ( n ) ]

    长度为 n 字节的固定长度二进制数据,其中 n 是从 1 到 8,000 的值。 存储大小为 n 字节。

    varbinary [ ( n | max) ]

    可变长度二进制数据。 n 的取值范围为 1 至 8,000。 max 指示最大存储大小是 2^31-1 个字节。 存储大小为所输入数据的实际长度 + 2 个字节。 所输入数据的长度可以是 0 字节。 varbinary 的 ANSI SQL 同义词为 binary varying

    如果列数据项的大小一致,则使用 binary。

    如果列数据项的大小差异相当大,则使用 varbinary。

    当列数据条目超出 8,000 字节时,请使用 varbinary(max)。

    其他数据类型

    SQL Server 对数据类型使用以下优先级顺序:

    1. 用户定义数据类型(最高)

    2. sql_varian t

    3. xml

    4. datetimeoffset

    5. datetime2

    6. datetime

    7. smalldatetime

    8. date

    9. time

    10. float

    11. real

    12. decimal

    13. money

    14. smallmoney

    15. bigint

    16. int

    17. smallint

    18. tinyint

    19. bit

    20. ntext

    21. text

    22. image

    23. timestamp

    24. uniqueidentifier

    25. nvarchar(包括 nvarchar(max))

    26. nchar

    27. varchar(包括 varchar(max))

    28. char

    29. varbinary(包括 varbinary(max))

    30. binary(最低)

  • 相关阅读:
    (22)ASP.NET Core2.2 EF创建模型(索引、备用键、继承、支持字段)
    (21)ASP.NET Core2.2 EF创建模型(关系)
    (20)ASP.NET Core2.2 EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)
    (19)ASP.NET Core2.2 EF创建模型(包含属性和排除属性、主键、生成的值)
    (18)ASP.NET Core2.2 基于现有数据库创建EF模型(反向工程)
    (17)ASP.NET Core2.2 EF基于数据模型创建数据库
    (16)ASP.NET Core2.2 通用主机(HostBuilder)
    (15)ASP.NET Core2.2 Web主机(IWebHostBuilder)
    (14)ASP.NET Core2.2 中的日志记录
    前端也要懂物理 —— 惯性滚动篇
  • 原文地址:https://www.cnblogs.com/kuangxiangnice/p/5725056.html
Copyright © 2020-2023  润新知