Tsql “与”的区别是什么;选择<;文本>&引用;及;打印<;文本>&引用;在T-SQL中?

Tsql “与”的区别是什么;选择<;文本>&引用;及;打印<;文本>&引用;在T-SQL中?,tsql,select,sap-ase,Tsql,Select,Sap Ase,在T-SQL中,我可以使用 选择“我的文本” 或 打印“我的文本” 我通常会得到同样的结果。但是,偶尔select会以静默方式无法输出任何文本,而print始终有效 这两者的区别是什么?为什么选择有时会失败?(仅供参考,我的系统是Sybase ASE版本15。)在sql server 2012 我执行了这些 SELECT getdate() -- returned 2013-11-27 17:37:51.080 PRINT getdate() --returned Nov 27 2013 5

在T-SQL中,我可以使用
选择“我的文本”
打印“我的文本”

我通常会得到同样的结果。但是,偶尔
select
会以静默方式无法输出任何文本,而
print
始终有效


这两者的区别是什么?为什么
选择
有时会失败?(仅供参考,我的系统是Sybase ASE版本15。)

sql server 2012

我执行了这些

SELECT getdate() -- returned 2013-11-27 17:37:51.080

PRINT getdate() --returned Nov 27 2013  5:37PM
所以你总结为

PRINT
总是返回一个char或varchar,因此当您执行
PRINT GETDATE()
时,会进行隐式转换


选择
返回提供的数据类型。

如果使用SQL Server Management Studio的查询选项:“结果到文件”

  • 选择将转到该文件
  • 打印将转到查询编辑器底部的“消息”窗格
根据


PRINT不是标准的SQL命令,它可能是特定于Sybase的。另一方面,SELECT是ANSI标准的一部分,受所有RDBMS支持。我不知道sybase,但在SQL SERVER中有很大的不同,因为PRINT只能写入字符串消息,它实际上不能返回表格数据。由于Sybase使用TSQL,我认为在那里也是一样的。
PRINT Returns a user-defined message to the client.