T-SQL 数据类型

T-SQL 数据类型

SQL Server中的数据类型是一个属性,用于生成对象的数据。每个变量、列和表达式都与T-SQL中的数据类型相关联。在创建表时,将使用数据类型。根据我们的需求,为基于列的表选择特定的数据类型。

SQL Server有七个类别,包括许多数据类型的类别。

真确的数值类型

类型 范围
BIGINT -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
INT -2,147,483,648 ~ 2,147,483,647
SMALLINT -32,768 ~ 32,767
TINYINT 0 ~ 255
BIT 0 ~ 1
DECIMAL -10^38 +1 ~ 10^38 -1
NUMERIC -10^38 +1 ~ 10^38 -1
MONEY -922,337,203,685,477.5808 ~ +922,337,203,685,477.5807
SMALL MONEY -214,748.3648 ~ +214,748.3647

Numeric 和 Decimal 是固定精度和比例的数据类型。

数值类型

类型 范围
REAL -3.40E+38 ~ 3.40E+38
FLOAT -1.79E+308 ~ 1.79E+308

日期和时间类型

类型 范围
DATETIME(3.3毫秒精度) 1753年1月1日至9999年12月31日
SMALLDATETIME(1分钟精度) 1900年1月1日至2079年6月6日
DATE(1天精度) 1年1月1日至9999年12月31日
DATETIMEOFFSET(100纳秒精度) 0001年1月1日至9999年12月31日
DATETIME2(100纳秒精度) 0001年1月1日至9999年12月31日
TIME(100纳秒精度,引入于SQL Server 2008) 00:00:00.0000000 至 23:59:59.9999999

字符字符串

序号 类型 描述
1 CHAR 它是长度为8,000个字符的非Unicode定长字符数据。
2 VARCHAR 它是最大长度为8,000个字符的非Unicode可变长度数据。
3 VARCHAR (MAX) 它是最大长度为231个字符的非Unicode可变长度数据。
4 TEXT 它是一个范围为2,147,483,647个字符的非Unicode数据。

Unicode 字符串

序号 类型 描述
1 NCHAR 它是具有最大范围为4,000个字符的定长数据。
2 NVARCHAR 它是具有最大范围为4,000个字符的可变长Unicode数据类型。
3 NVARCHAR(MAX) Nvarchar是一个引入于SQL Server 2005的长度可变、最大为230个字符的数据类型。
4 NTEXT Unicode数据,最大长度为1,073,741,823个字符,是变长的。

二进制字符串

序号 类型 描述
1 BINARY 二进制是具有最大长度为8,000个字节的定长数据。
2 VARBINARY Varbinary二进制数据与长度为8,000字节一起使用。
3 VARBINARY(MAX) Varbinary(max)是一种二进制数据类型,其长度可变,最大为231字节(引入于SQL Server 2005)。
4 IMAGE类型 在Image类型数据类型中,二进制数据是可变长度的,最大长度为2,147,483,647字节。

T-SQL 中使用的其他数据类型

  • Timestamp – 它存储了大量数据库。每次更新行时都会更新它。

  • Sql_variant – 它存储了大多数SQL服务器的值,支持除ntext和timestamp数据类型之外的数据类型。

  • 唯一标识符 – 当我们保存XML数据时,我们将XML实例存储在列中。

  • Table – 它保存一个结果集,以便稍后进行处理。

  • Cursor – Cursor是一个引用。

  • Hierarchy – 数据类型是可变长度的,用于表示层次结构中的位置。

T-SQL 流程控制关键字

它具有BEGIN和END、BREAK、CONTINUE、GOTO、IF-ELSE、WAITFOR、RETURN和WHILE关键字。

IF和ELSE允许条件执行。如果当前日期是周末日期,则批处理语句将打印“This is the weekend”,否则将打印“This is a weekday”。

注意:该代码假定星期天是@DATEFIRST设置中一周的第一天。

IF DATEPART (DW, GETDATE ()) = 7 OR DATEPART (DW, GETDATE ()) = 1
PRINT 'This is the weekend.' /if GETDATE =7 then
ELSE
PRINT 'This is a weekday.' /otherwise

BEGIN和END在流程控制中生成语句块。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程