T-SQL 数据类型

2025年3月17日 | 阅读 3 分钟

SQL Server 中的数据类型是一种属性,它生成对象的 [数据](https://so.csdn.net/so/search?q=%E6%95%B0%E6%8D%AE&spm=1001.2101.3001.6650)。每个变量、列和表达式都与 T-SQL 中的数据类型相关。在创建表时将使用数据类型。我们根据我们的需求为基于列的表选择特定的数据类型。

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

精确数值类型

类型FromTo
Bigint-9,223,372,036,854,775,8089,223,372,036,854,775,807
int-2,147,483,6482,147,483,647
Smallint-32,76832,767
Tinyint0255
01
十进制-10^38 +110^38 -1
数字-10^38 +110^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 是固定精度和比例的数据类型。

数值类型

类型From
实数-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字符这是非 Unicode 定长字符数据,长度为 8,000 个字符。
2varchar这是非 Unicode 变长数据,最多 8,000 个字符。
3Varchar (max)这是非 Unicode 变长数据,最大长度为 231 个字符。
4text这是非 Unicode 数据,范围为 2,147,483,647 个字符。

Unicode 字符串

序号类型描述
1Nchar这是定长数据,最大范围为 4,000 个字符。
2nvarchar这是一种变长 Unicode 数据类型,长度最多为 4,000 个字符。
3Nvarchar(max)Nvarchar 是变长类型,最多 230 个字符(在 SQL Server 2005 中引入)。
4NtextUnicode 数据,最大长度为 1,073,741,823 个字符,是可变长度。

二进制字符串

序号type描述
1二元Binary 是定长数据,最大长度为 8,000 字节。
2VarbinaryVarbinary 二进制数据用于 8,000 字节的长度。
3Varbinary(max)Varbinary(max) 是可变长度的二进制数据,最大周期为 231 字节(在 SQL Server 2005 中引入)。
4Image 类型在 Image 类型数据类型中,可变长度的二进制数据,最大长度为 2,147,483,647 字节。

T-SQL 中使用的剩余数据类型

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

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

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

Table - 它保存结果集,以便在一段时间后进行处理。

光标- 光标是一个引用。

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

T-SQL 中的流程控制关键字

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

IF 和 ELSE 允许条件执行。如果当前日期是周末日期,则批处理语句将打印“这是周末”,如果当前日期是工作日,则打印“这是工作日”。

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

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


下一主题T-SQL 创建表