利用 Microsoft® SQL Server™ 工具(如 SQL 查询分析器或 osql 实用工具),Transact-SQL 语句的结果既可以显示成字符文本,也可以保存为文本文件。SQL Server 会一次显示全部结果集,而不是一次仅提取几行结果集。
当应用程序执行返回关系结果集的 Transact-SQL 语句时,数据库 API 使应用程序能够将结果集的列关联或绑定到应用程序中的变量。当检索到结果集内某一行时,列中的数据将移入绑定变量,以便应用程序使用这些数据。并且,可以本机格式检索数据,而不必将数据转换为字符文本。
数据库 API 还支持关系结果集的游标处理。这样应用程序就可以一次检索结果集内的多行或行块。也不必强制应用程序在处理结果集之前检索并存储整个结果集。
当应用程序执行 XPath 查询或执行返回 XML 文档的 Transact-SQL 语句时,该文档作为流对象返回。有关更多信息,请参见 XML 和 Internet 支持概述。
程序员在生成使用关系结果集的数据库应用程序时,必须处理两层数据转换:
Transact-SQL 支持数据值从一种数据类型转换为另一种。例如,下面的语句可以将整数转换为字符串:
CAST ( 123 AS VARCHAR(5) )
可以使用 CAST 函数进行显式或隐性转换。例如,如果将 int 列与 char 列比较,则在比较之前,char 的值会隐式地转换为 int 数据类型。《Transact-SQL 参考》定义了 SQL Server 所允许的隐式或显式转换。这些规则只适用于 Transact-SQL 对象之间的转换。
在 Transact-SQL 对象(如参数、返回代码和结果集列)及其绑定程序变量之间进行转换时,会应用另一套规则。这套规则在支持 API 的提供程序或驱动程序的文档中进行了定义。不同的 API,规则也随之不同。例如,SQL Server ODBC 驱动程序支持将数据从 datetime 结果集列转换为 ODBC timestamp 数据结构,而 DB-Library 接口不允许这种转换,因为 DB-Library 接口不支持 ODBC timestamp 数据结构。