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在流程控制中生成语句块。
极客教程